암호해독

rhftnqls·2020년 9월 30일
0

문제
모든 알고리즘을 해독할수있는 알고리즘 7원석을 보유한 알고리즘 제왕 파이와 썬은 죽기전, 이 보물에 '암호'를 걸어 세계어딘가에 묻어놨다. 그가 남긴 문자는 아래와 같다.
~~
섬으로 향하라!
' + -- + - + - '
' + --- + - + '
' + -- + - + - '
' + - + - + - + '

해(1)와 달(0),
code의 세상 안으로! (En-Coding)~~

let data = [' + -- + - + - ', ' + --- + - + ', ' + -- + - + - ', ' + - + - + - + '];

//+는 1로 바꾸고 -는 0으로 바꿀것
let result = '' 

for (let s of data) {
//이 +는 정규패턴에 있으므로 역슬래시 주면 숫자로 바뀐다. 
//이 2진법으로 된 것을 10진법으로 고치고, 10진법으로 된 숫자를 다시 문자로 변환하는 문제. 
 // console.log(s)
 console.log(s.replace(/ /g, '').replace(/\+/g, '1').replace(/-/g,'0'));
 console.log(Number(s.replace(/ /g, '').replace(/\+/g, '1').replace(/-/g,'0')));
 console.log(parseInt(s.replace(/ /g, '').replace(/\+/g, '1').replace(/-/g,'0'),2))
  //2진법으로 숫자로 변환해서.. 
 console.log(String.fromCharCode(parseInt(s.replace(/ /g, '').replace(/\+/g, '1').replace(/-/g,'0'),2)))//String.fromCharCode메서드로 2진법 숫자 시퀀스로부터 문자열을 생성해 반환

//이제 'J' 'E' 'J' 'U' 따로 생성된 애들을 붙여주기

//맨 위에 let result = ''를 만들어 값을 출력해준다. 

result = result + String.fromCharCode(parseInt(s.replace(/ /g, '').replace(/\+/g, '1').replace(/-/g,'0'),2))
} 

0개의 댓글