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부터 시작하게 해준다.

공백은 밀리지 않는다.