https://www.acmicpc.net/problem/11655
문제분석
알파벳을 13개씩 밀어서 출력하는 문제이다. 알파벳이 아닌 문자는 그대로 출력하고 알파벳은 13개씩 출력하는데, 만약 13개를 민 알파벳이 z를 넘어갈 경우, a부터 시작해야 한다.
코드
n = input()
for i in n:
if 97<=ord(i)<=109 or 65<=ord(i)<=77:
print(chr(ord(i)+13), end='')
elif 110<=ord(i)<=122:
print(chr(97+ord(i)-110), end='')
elif 78<=ord(i)<=90:
print(chr(65+ord(i)-78), end='')
else:
print(i, end='')
문제풀이
if-elif문을 통해 구현할 수 있다. 아스키 코드로 변환하여 알파벳일 경우 13개씩 밀어서 출력하고 만약 13개를 민 것이 z를 넘어갈 경우 elif문을 통해 a부터 시작하도록 하여 출력하면 된다.
'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 1032번 명령 프롬포트 (0) | 2022.02.21 |
---|---|
<6주차> [BOJ / C++] 1932번 - 정수 삼각형 (0) | 2022.02.20 |
[백준/c++] 2798번 블랙잭 (0) | 2022.02.19 |
[BOJ/python] 14247번 나무 자르기 (0) | 2022.02.17 |
[백준/C++] 16955번 오목, 이길 수 있을까? (0) | 2022.02.15 |