가오리의 코딩일기

[17681] (1차) 비밀지도 본문

HTML+CSS+JavaScript/프로그래머스

[17681] (1차) 비밀지도

류경혜 2022. 6. 19. 00:00

https://programmers.co.kr/learn/courses/30/lessons/17681

 

코딩테스트 연습 - [1차] 비밀지도

비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다

programmers.co.kr

function solution(n, arr1, arr2) {
  let result = [];
  for (let i = 0; i < n; i++) {
    const change2 = (arr1[i] | arr2[i]).toString(2);
    let space = [];
    for (let j = change2.length - n; j < change2.length; j++) {
      if (change2[j] === "1") {
        space.push("#");
      } else {
        space.push(" ");
      }
    }
    result.push(space.join(""));
  }
  return result;
}

- 지도1 또는 지도2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다 → OR

- 지도1과 지도2에서 모두 공백인 부분은 전체 지도에서도 공백이다 → AND

- 지도는 벽부분(#)을 1, 공백 부분( )은 0으로 부호화 했을 때 얻어지는 이진수에 해당하는 값의 배열이다

 

→ toString(2) :  이진수로 문자열을 반환

→ join() : 배열의 모든 요소를 연결해 하나의 문자열로 만든다

 

'HTML+CSS+JavaScript > 프로그래머스' 카테고리의 다른 글

[67256] 키패드 누르기  (0) 2022.06.19
[42889] 실패율  (0) 2022.06.19
[17682] 다트 게임  (0) 2022.06.17
[64061] 크레인 인형뽑기 게임  (0) 2022.06.17
[72410] 신규 아이디 추천  (0) 2022.06.16