Java/Coding Test
시저 암호 문제풀이
최고다최코딩
2023. 9. 25. 20:35
728x90
문자열의 알파벳을 일정거리n 씩 밀어서 다른 알파벳으로 바꾼 값을 반환
public String solution(String s, int n) {
String answer = "";
for(int i=0; i<s.length();i++){
if(Character.isLowerCase(s.charAt(i))&&s.charAt(i)+n>'z') {
char temp=(char) (s.charAt(i)-26+n);
answer+=temp;
}else if(Character.isUpperCase(s.charAt(i))&&s.charAt(i)+n>'Z') {
char temp = (char) (s.charAt(i)-26+n);
answer+=temp;
}else if(s.charAt(i)==' '){
answer+=" ";
}else {
char temp = (char)(s.charAt(i)+n);
answer+=temp;
}
}
return answer;
}
밀었을때 알파벳의 범위를 초과하면 -26하여 A혹은 a부터 시작하게 해준다.
공백은 밀리지 않는다.