BOJ 11655 ROT13
4062 단어 2021.01.292021.01.29
https://www.acmicpc.net/problem/11655
시간 1초, 메모리 256MB
input :
- 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S
output :
- S를 ROT13으로 암호화한 내용
조건 :
- 영어 알파벳을 13글자씩 밀어서 만든다.
구현은 그냥 아스키 코드로 바꿔서 13을 더해가지고 범위에서 벗어나면 다시 65나 97부터 시작하도록 하면 된다.
공백때문에 틀렸는데. strip()을 쓸 경우 문자열의 앞 부분도 날려버리기 때문에 공백이 사라지게 된다. 이를 유의 해서 rstrip()을 이용하자.
import sys
sentence = sys.stdin.readline().rstrip()
new = []
for item in sentence:
alphabet = ord(item)
if 65 <= alphabet <= 90:
alphabet += 13
if alphabet > 90:
temp = alphabet - 90
alphabet = 64 + temp
new.append(chr(alphabet))
elif 97 <= alphabet <= 122:
alphabet += 13
if alphabet > 122:
temp = alphabet - 122
alphabet = 96 + temp
new.append(chr(alphabet))
else:
new.append(item)
print("".join(new))
Author And Source
이 문제에 관하여(BOJ 11655 ROT13), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jsin2475/BOJ-11655-ROT13저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)