반응형
코드 작성
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)
반응형
'코딩 > Python' 카테고리의 다른 글
[Python] 10808 알파벳 개수 (0) | 2022.11.19 |
---|---|
[Python] 백준 9613 GCD합 (0) | 2022.11.19 |
[Python] 백준 11656 접미사 배열 (0) | 2022.11.19 |
[Python] 백준 9020 골드바흐의 추측 (0) | 2022.11.19 |
[Python] 백준 10989 수 정렬하기3 (0) | 2022.11.19 |