가오리의 코딩일기
[17681] (1차) 비밀지도 본문
https://programmers.co.kr/learn/courses/30/lessons/17681
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 |