코딩/Python
[Python] 백준 11655 ROT13
도아죻아
2022. 11. 19. 14:17
반응형
코드 작성
word=input()
ans=''
for i in word:
if 'a'<= i <='z':
i=ord(i)+13
if i>122:
i-=26
ans += chr(i)
elif 'A'<= i <='Z':
i=ord(i)+13
if i>90:
i-=26
ans += chr(i)
else: #띄어쓰기 일 경우
ans += i
print(ans)
코드 풀이
#1. 문제순서
(1) 입력받은 단어가 소문자라면 아스키 코드로 변환하여 13을 더하는데 122(소문자 z )보다 크면 26(알파벳 개수)을 빼고 ans라는 문자열에 추가한다.
(2) 입력받은 단어가 대문자라면 아스키 코드로 변환하여 13을 더하는데 90(대문자 Z)보다 크면 26(알파벳 개수)을 빼고 ans라는 문자열에 추가한다.
#2.
- ord(ordinal value,서수 값) : 문자 → 숫자
- chr(character) : 숫자 → 문자
- 아스키 코드 범위 대문자(65~90), 소문자(97~122)
반응형