문제
https://www.acmicpc.net/problem/11655
11655번: ROT13
첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.
www.acmicpc.net
풀이
ss = list(input())
for i,s in enumerate(ss):
if 'a' <= s <= 'z':
if 'a' <= chr(ord(s)+13) <= 'z':
ss[i] = chr(ord(s)+13)
else:
ss[i] = chr(ord(s)-13)
if 'A' <= s <= 'Z':
if 'A' <= chr(ord(s)+13) <= 'Z':
ss[i] = chr(ord(s)+13)
else:
ss[i] = chr(ord(s)-13)
print(''.join(ss))
13을 더해서 영문자를 넘어가면 13을 빼준다
'코딩테스트 > Python' 카테고리의 다른 글
[Python] 백준 #2559 - 수열 (0) | 2022.05.14 |
---|---|
[Python] 백준 #9996 - 한국이 그리울 땐 서버에 접속하지 (0) | 2022.05.14 |
[Python] 백준 #1159 - 농구 경기 (0) | 2022.05.14 |
[Python] 백준 #10988 - 팰린드롬인지 확인하기 (0) | 2022.05.14 |
[Python] 백준 #2979 - 트럭 주차 (0) | 2022.05.14 |