언젠가는
(파이썬) 백준 11655번 ROT13 파이썬 풀이, Python3 본문
1.
a=list(input())
a에 입력값을 리스트로 받습니다.
b = len(a)
리스트의 길이를 b로 받습니다.
2.
for i in range(b):
if ord(a[i])==32:
a[i] = ' '
띄어쓰기의 아스키 코드는 32, 32일 때 띄어쓰기를 넣어줍니다.
elif a[i].isdigit():
숫자가 나오면 변함없이 숫자가 나옵니다.
a[i] = a[i]
else:
띄어쓰기, 숫자가 아닐 경우에만 ROT13을 진행합니다.
if a[i].isupper():
if (ord(a[i])+13) <91:
a[i]=chr(ord(a[i])+13)
else:
a[i]=chr(ord(a[i])-13)
대문자일 때, 아스키코드 90(Z)보다 크면 -13, 작으면 +13합니다. 그 이유는 알파벳은 총 26자이기 때문입니다.
else:
if (ord(a[i])+13)<123:
a[i]=chr(ord(a[i])+13)
else:
a[i]=chr(ord(a[i])-13)
소문자일 때에도 마찬가지입니다. 아스키코드 122(z)보다 작으면 +13, 크면 -13합니다.
print(*a,sep='')
새로 만들어진 리스트a를 붙여서 출력합니다.
'IT > 코딩' 카테고리의 다른 글
(파이썬) 백준 17103번 골드바흐 파티션 풀이 python3 (0) | 2022.08.12 |
---|---|
(파이썬) 백준 6588 골드바흐의 추측 파이썬 풀이 (0) | 2022.08.11 |
(파이썬) 백준 10799번 쇠막대기 파이썬 python3 (0) | 2022.08.07 |
(파이썬) 백준 1158 - 요세푸스 문제 python3 (0) | 2022.08.05 |
(파이썬) 백준 1406 - 에디터 python3 (0) | 2022.08.04 |
Comments