아스키코드, chr(), ord()를 이용하면
풀 수 있었던 문제!
ord(문자) -> 숫자
ord(A) -> 65
ord(a) -> 97
chr(숫자) -> 문자
chr(65) -> A
알파벳 개수는 26개
temp = input()
answer = ''
for idx, i in enumerate(temp):
i = ord(i)
if 65 <= i <= 90: # 대문자
i += 13
if i > 90: # 13을 더했을 때 90이 넘으면, 앞으로 다시 돌아가야한다.
i -= 26
answer += chr(i)
continue
else:
answer += chr(i)
elif 97 <= i <= 122: # 소문자
i += 13
if i > 122:
i -= 26 # 알파벳 총개수를 빼주면 앞으로 넘어감
answer += chr(i)
continue
else:
answer += chr(i)
else: # 공백, 숫자일 땐 아무런 작업 해주지 않는다.
answer += chr(i)
print(answer)
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[n2535] 아시아 정보올림피아드 in python (0) | 2021.10.18 |
---|---|
[n1292] 쉽게 푸는 문제 in python (0) | 2021.10.18 |
[n1058] 친구 in python (0) | 2021.10.15 |
[n1904] 01타일 in python (0) | 2021.10.15 |
[n1026] 보물 in python (0) | 2021.10.13 |