(Python, Java) 프로그래머스 - 시저 암호
in Algorithm on Programmers, Level1
[문제 링크]
Python 풀이
def solution(s, n):
answer = ''
for alpha in s:
tmp = ord(alpha) + n
if alpha.islower():
answer += chr((tmp - ord('a')) % 26 + ord('a'))
elif alpha.isupper():
answer += chr((tmp - ord('A')) % 26 + ord('A'))
else:
answer += alpha
return answer
Java 풀이
class Solution {
public String solution(String s, int n) {
StringBuilder sb = new StringBuilder();
for (char ch : s.toCharArray()) {
if (Character.isUpperCase(ch)) {
sb.append((char) ('A' + (ch - 'A' + n) % 26));
} else if (Character.isLowerCase(ch)) {
sb.append((char) ('a' + (ch - 'a' + n) % 26));
} else {
sb.append(ch);
}
}
return sb.toString();
}
}