Python

벼락치기 코딩테스트 - 암호해독!

winter126 2025. 2. 28. 23:13

🏝 암호를 해독하라! 알고리즘 제왕의 비밀

알고리즘 제왕 파이와 썬은 모든 알고리즘을 해독할 수 있는 7개의 원석을 가진 인물이었다. 그

는 죽기 전, 이 보물을 ‘암호’로 보호하고 세계 어딘가에 숨겼다. 그리고 남긴 단서는 단 하나였다.

 

📌 "섬으로 향하라!"

그가 남긴 메시지는 다음과 같다.

'   + -- + - + -   '
'   + --- + - +    '
'   + -- + - + -   '
'   + - + - + - +   '

 

🔍 암호 해독 과정

  1. +1, -0으로 변환한다.
  2. 변환된 이진수를 십진수(ASCII 코드)로 변환한다.
  3. 변환된 숫자를 문자로 변환하여 해독한다.

📌 Python 코드로 구현하면 다음과 같다.

text = ['   + -- + - + -   ',
        '   + --- + - +    ',
        '   + -- + - + -   ',
        '   + - + - + - +   ']

l = []
for i in text:
    l.append(chr(int(i.strip().replace(' ', '').replace('+', '1').replace('-','0'), 2)))

print(''.join(l))

 

🏆 해독 결과

이 코드를 실행하면 **'JEJU'**라는 문자가 출력된다! 즉, 보물이 숨겨진 곳은 바로 제주도(Jeju)!

 

📌 코드 해석

  1. strip()을 사용해 양쪽 공백 제거
  2. replace(' ', '')중간 공백 제거
  3. replace('+', '1').replace('-', '0')이진수 변환
  4. int(이진수, 2)십진수 변환
  5. chr(숫자)문자 변환
  6. 모든 문자들을 ''.join(l)로 연결하여 최종 문자열 출력

이처럼 이진수 변환과 ASCII 코드 활용을 통해 숨겨진 메시지를 해독할 수 있다!

 


 

 

눈떠보니 코딩테스트 전날 강의 | 제주코딩베이스캠프 - 인프런

제주코딩베이스캠프 | , [사진]       [사진][사진][사진] 혹시 다들 이런 경험 없으신가요?눈떠보니 바로 다음날이 코딩 테스트 .. !! 😱  그래서 제주코딩베이스캠프가 준비했습니다! 기본적으

www.inflearn.com