모든 알고리즘을 해독할 수 있는 알고리즘 7 원석를 보유한 알고리즘 제왕 파이와 썬은 죽기 전, 이 보물에 '암호'를 걸어 세계 어딘가에 묻어놨다고 공표하였다. 그가 남긴 문자는 아래와 같다.
# 섬으로 향하라!
' + -- + - + - '
' + --- + - + '
' + -- + - + - '
' + - + - + - + '
# 해(**1**)와 달(**0**),
# Code의 세상 안으로!(**En-Coding**)
이건 뭔 초등학교 때 푼 창의력 해법수학과 닮아 있다...
차분하게 생각해보면...
1. 옆으로 봐도 앞으로 봐도 이진수를 말하는 것 같다
2. 이런 이진수를 마지막에 문자열로 바꾸게 될것 이다.
3. 숫자를 문자로 바꾼다?? -> 아스키코드!!
라는 결론에 도달하게 된다.
# 리스트에 저장
arr = [' + -- + - + - ',
' + --- + - + ',
' + -- + - + - ',
' + - + - + - + ']
l = [] # 새 리스트 생성
i.strip().replace(' ','').replace('-','0').replace('+','1')
strip
함수: 공백 제거함수replace
함수: 앞에 나온 문자를 뒤에 문자로 바꿔준다.int(i.strip().replace(' ','').replace('-','0').replace('+','1'),2)
chr(int(i.strip().replace(' ','').replace('-','0').replace('+','1'),2))
이렇게 엄청 기이잉일어진 코드를 l
리스트에다 삽입해주자
l.append(chr(int(i.strip().replace(' ','').replace('-','0').replace('+','1'),2)))
# 리스트에 저장
arr = [' + -- + - + - ',
' + --- + - + ',
' + -- + - + - ',
' + - + - + - + ']
l = [] # 새 리스트 생성
for i in arr: #리스트의 길이 만큼 돌기(4번)
#strip(): 공백 제거 함수
l.append(chr(int(i.strip().replace(' ','').replace('-','0').replace('+','1'),2)))
print(''.join(l))
결과