문제
모든 알고리즘을 해독할수있는 알고리즘 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))
}