차차로그
[JS] 2018 KAKAO BLIND RECRUITMENT[1차] > 비밀지도 본문
function solution(n, arr1, arr2) {
var answer = [];
arr1 = arr1.map(v => v.toString(2).padStart(arr1.length, "0"));
arr2 = arr2.map(v => v.toString(2).padStart(arr2.length, "0"));
for(var i = 0; i < arr1.length; i++){
var map = "";
for(var j = 0; j < arr1.length; j++){
if(arr1[i][j] + arr2[i][j] >= 1){
map += "#";
}else{
map += " ";
}
}
answer[i] = map;
}
return answer;
}
arr1과 arr2에 저장되어있는 값을 이진수로 변환하기 위해 map을 이용해 배열을 반복하고 2진수로 변환해 담아줬다.
이때 가장 앞에 있는 0은 없어져서 padStart로 앞에 0을 붙여줬다.
그 후 반복을 돌려서 둘 중 하나라도 1이면 벽을 뜻하는 #을 넣어줘야 하기에 둘을 더했을 때 1이상이면 #을 넣고, 아니라면 공백을 넣어 지도를 완성했다.
var solution=(n,a,b)=>a.map((a,i)=>(a|b[i]).toString(2).padStart(n,0).replace(/0/g,' ').replace(/1/g,'#'))
다른 사람 풀이
여기서는 replace를 써서 0은 ' '로, 1은 '#'로 바꿔저ㅜㅆ다
'코딩테스트' 카테고리의 다른 글
[JS] 완전탐색 > 최소직사각형 (0) | 2022.08.23 |
---|---|
[JS] 완전탐색 > 모의고사 (0) | 2022.08.23 |
[JS] 연습문제 > 자릿수 더하기 (0) | 2022.08.23 |
[JS] 해시 > 폰켓몬 (0) | 2022.08.23 |
[JS] 2022 KAKAO TECH INTERNSHIP > 성격 유형 검사하기 (0) | 2022.08.22 |
Comments