문제
답안
function solution(n, arr1, arr2) {
var answer = [];
let map1 = [];
let map2 = [];
let arr = [];
let string = '';
for(let i = 0; i < n; i++){
// arr을 2진수로 바꿔 빈 자릿수는 0인 n만큼의 자릿수를 map1,2에 넣어준다
map1.push(arr1[i].toString(2).padStart(n,'0'));
map2.push(arr2[i].toString(2).padStart(n,'0'));
for(let j = 0; j < n; j++){
// 둘 다 0인 곳에는 공백, 그 외에는 '#'을 넣는다
if(map1[i][j] == 0 && map2[i][j] == 0){
answer.push(' ');
} else {
answer.push('#');
}
}
}
string = answer.join('')
// 다시 나눠준다
for(let k = 0; k < Math.floor(string.length/n); k++){
arr.push(string.slice(n*k,n*(k+1)));
}
return arr;
}
후기
padStart, toString, slice와 같은 다양한 메서드를 이용해 문제를 풀어보았다.
조금 더 깔끔하게 풀어보자
728x90
'자바스크립트 코딩테스트' 카테고리의 다른 글
프로그래머스 Level 1 - K번째 수 (Javascript) (0) | 2023.12.14 |
---|---|
프로그래머스 Level 1 - 푸드 파이트 (Javascript) (0) | 2023.12.13 |
프로그래머스 Level 1 - 두 개 뽑아서 더하기 (Javascript) (2) | 2023.12.11 |
프로그래머스 Level 1 - 콜라 문제 (Javascript) (2) | 2023.12.10 |
프로그래머스 Level 1 - 추억 점수 (Javascript) (0) | 2023.12.09 |