본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 2][Python] 5598번 : 카이사르 암호

by 빛밤하늘 2021. 4. 16.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

5598번: 카이사르 암호

가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였습니다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 대문자 알파벳으로 구성된 단어를 1개 입력합니다.
# 입력하는 단어는 최대 1000자 이하입니다.
caesar_word = input()

# 원래 단어를 저장할 변수를 선언합니다.
origin_word = ''

# 카이사르 단어에서 한 글자씩 반복합니다.
for alphabet in caesar_word:
    # 현재 알파벳이 D에서 Z까지인 경우
    if 68 <= ord(alphabet) <= 91 :
        # 현재 알파벳보다 3개 이전의 알파벳으로 변환해서 원래 단어 변수에 넣어줍니다.
        origin_word += chr(ord(alphabet) - 3)
    # 현재 알파벳이 A, B, C인 경우
    else:
        # 각각 X, Y, Z로 바꿔서 원래 단어 변수에 넣어줍니다.
        origin_word += chr(ord(alphabet) + 26 - 3)

# 원래 단어를 출력합니다.
print(origin_word)

결과

 

처음 제출했을 때는 문제를 제대로 읽지 않고 단어를 입력하면 카이사르 단어로 출력해야 되는 줄 알고

그렇게 구현해서 제출해버렸니다. 결과는 당연히 틀렸습니다라고 나왔습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글