본문 바로가기
코딩테스트 문제풀이(Python)

백준 11365번 문제풀이 (파이썬)

by chanfficial 2022. 5. 26.

11365. !밀비 급일

 

 

당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오.

 

 

입력 : 한 줄에 하나의 암호가 주어진다. 암호의 길이는 500을 넘지 않는다. 마지막 줄에는 "END"가 주어진다.

         (END는 해독하지 않는다.)

출력 : 각 암호가 해독된 것을 한 줄에 하나씩 출력한다.

 

 

ex)

입력 :

!edoc doog a tahW
noitacitsufbo
erafraw enirambus detcirtsernu yraurbeF fo tsrif eht no nigeb ot dnetni eW
lla sees rodroM fo drol eht ,ssertrof sih nihtiw delaecnoC
END

출력 :

What a good code!
obfustication
We intend to begin on the first of February unrestricted submarine warfare
Concealed within his fortress, the lord of Mordor sees all

 

 

 

 

 

풀이

passwd_list = []

while True:
    passwd = input()
    passwd_list.append(passwd)
    if passwd == 'END':
        break

for i in range(0, len(passwd_list)-1, 1):
    print(passwd_list[i][::-1], end='\n')

- 쪽지에 적힌 암호의 분량을 알 수 없으므로 while True 즉, 무한루프를 사용했다. 

쪽지의 암호를 한 줄씩 입력받아 passwd_list에 추가했고, 만약 입력받은 암호인 passwd가 END이면 무한루프를 종료하도록 break를 사용했다.

그리고 각각의 암호를 한 줄에 하나씩 출력하기 위해 반복문을 사용했는데,

이때 마지막 줄에 주어진 'END'는 해독하지 않기 때문에

passwd_list의 마지막 요소를 제외한 모든 범위를 반복하는 반복문을 사용하여 각각의 암호를 출력하게 했고, 암호를 뒤집어 해독하기 때문에 슬라이스 범위를 [::-1] 로 지정하여 문자열을 모두 반대로 뒤집어 출력하게 했다.