문제
접근
아스키 코드로 왔다갔다했다. 개인적으로 아스키 코드는 C++이 더 편한거 같기도 하다.
코드
- 파이썬 코드
1
2
3
4
5
6
7
8
9
10
def solution(s, n):
answer = ''
for item in s:
if item.isupper():
answer += chr((ord(item) - ord('A') + n)%26 + ord('A'))
elif item.islower():
answer += chr((ord(item) - ord('a') + n)%26 + ord('a'))
else:
answer += ' '
return answer
- C++ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>
using namespace std;
string solution(string s, int n) {
for(int i = 0; i<s.size(); i++){
if('A' <= s[i] && s[i] <= 'Z'){
s[i] = ((s[i] + n - 'A') % 26) + 'A';
}
else if('a' <= s[i] && s[i] <= 'z'){
s[i] = ((s[i] + n - 'a') % 26) + 'a';
}
}
return s;
}