문제1: 암호해독!

이지흠·2021년 6월 29일
0
post-thumbnail

문제

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

섬으로 향하라!
 "  + -- + - + -  "
 "  + --- + - +  "
 "  + -- + - + -  "
 "  + -- + - + -  "
 "  + - + - + - +  "
 (1)(0), Code의 세상 안으로! (En-Coding)

풀이

수수께기같은 형식으로 문제가 나온다. 이를 푸는것도 재미있다.
먼저 암호와 힌트 세가지가 제공되었다.

  • 해(1)
  • 달(0)
  • Code의 세상 안으로!(En-Coding)

유추 하였을 때 +는 해가 되어 1이 될 것이다.
-는 달이 되어 0이 될 것이다.
En-Coding이라는 것을 보았을 때 ASCII로 바꿔야할 것 같았다.

function question() {
	let result = '';

	const TEXT = [
      '  + -- + - + -  ', 
      '  + --- + - +  ', 
      '  + -- + - + -  ', 
      '  + -- + - + -  ', 
      '  + - + - + - +  '
    ];
	TEXT.forEach((item) => {
		// 한 행의 공백을 제거하고, +를 1로 치환, -를 0으로 치환
		let binary = item.replace(/ /gi, '').replace(/\+/gi, '1').replace(/\-/gi, '0');
		// 2진수 형태의 문자 binary변수를 10진수로 만든다.
		let decimal = parseInt(binary, 2);
		// 10진수로 바뀐 수를 ASCII 코드로 바꿔 알파벳으로 만들어준다.
		result += String.fromCharCode(decimal);
	});
	return result;
}
Output : JEJJU
profile
마술같은 기술을 구사하고싶은 Front-End 개발자

0개의 댓글

관련 채용 정보