
Algorithm Problem with JavaScript — 25day
비밀지도
네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.

입력으로 지도의 한 변 크기 n 과 2개의 정수 배열 arr1, arr2가 들어온다.
원래의 비밀지도를 해독하여 '#', 공백으로 구성된 문자열 배열로 출력하라.


입력으로 한 변의 크기를 나타내는 n, 지도를 나타내는 배열 arr1, arr2이 들어온다. arr1과 arr2의 요소들을 이진법으로 변환한 다음 0 -> 공백, 1 -> # 로 변환한다. 두 배열을 합쳐서 하나라도 #을 나타낸다면 #으로 나타내고, 두 배열 모두 공백을 나타내는 공간이라면 공백으로 나타낸다. 이렇게 합쳐진 배열을 반환하면 된다.
입력으로 들어온 arr1과 arr2을 map을 돌려서 요소로 들어있는 숫자들을 모두 이진법 숫자로 변환한다. (toString(2)을 이용) 변환한 이후에 한 변의 크기를 나타내는 n을 이용해서 이진법 숫자의 빈 곳을 채운다. 예를 들어 n이 4인데 변환 전 숫자가 1이라면 이진법으로 변환된 숫자는 1이다. 비밀지도를 만들기 위해서는 0001을 반환해야 하지만 1을 반환함으로 여러 문제가 생길 수 있다. repeat을 이용해서 빈 곳을 0으로 채운다. 다음에는 0은 공백으로, 나머지는 #으로 변환한다. split을 이용해 배열로 변환한 다음 map을 이용해 변환 작업을 하고 join으로 다시 문자열로 만든다.
.png)
