JavaScript
[프로그래머스 Lv.1] 비밀지도 javascript
어느새벽
2024. 11. 14. 23:48
반응형
function solution(n, arr1, arr2) {
const answer = [];
for (let i = 0; i < n; i++) {
// arr1[i]와 arr2[i]를 OR 연산하여 이진수로 바꾸고 n의 길이까지 돌림
const binary = (arr1[i] | arr2[i]).toString(2).padStart(n, '0');
// 이진수 문자열에서 1이면 "#"을, 0이면 " "을 추가한다.
const line = binary.replace(/1/g, '#').replace(/0/g, ' ');
// 결과를 answer 배열에 추가한다.
answer.push(line);
}
return answer;
}
다시한번 짚고 넘어가는 toString()과 padStart
num.toString(2) : 배열이 아닌 정수에 toString 메서드를 쓰고 인수에 숫자를 넣으면 해당하는 진수법으로 변환해준다.
padStart(str.length, "any") : 첫번째 인자는 인덱스가 아닌 문자열의 길이를 넣는다. 원하는 길이가 될때까지 채운다. 두번째 인자는 첫번째 인자의 길이가 될때까지 채우는 내용이다.
반응형