min
프로그래머스 비밀지도 자바스크립트 본문
<문제>
https://school.programmers.co.kr/learn/courses/30/lessons/17681
<나의 풀이>
//n만큼 반복문을 돌면서 다음 과정을 수행한다.
//arr1 , arr2의 각 원소들을 이진수로 변환해준다.
//n만큼 반복문을 돌면서 다음 과정을 수행한다.
//각 이진수의 숫자들을 or연산자를 통해서 연산한다.
//연산결과 즉 0 => " " , 1 => "#"를 임의의 변수에 담는다.
//변수를 answer에 각각 담는다.
//answer를 리턴한다.
function solution(n, arr1, arr2) {
var answer = [];
for(let i = 0; i < n; i++) {
let ans = ""
for(let j = 0; j < n; j++) {
let num1 = arr1[i].toString(2).padStart(n , 0)
let num2 = arr2[i].toString(2).padStart(n , 0)
if(num1[j] | num2[j]) ans += "#"
else ans += " "
}
answer.push(ans)
}
return answer;
}
<다른 사람의 풀이>
function solution(n, arr1, arr2) {
return arr1.map((v, i) => addZero(n, (v | arr2[i]).toString(2)).replace(/1|0/g, a => +a ? '#' : ' '));
}
const addZero = (n, s) => {
return '0'.repeat(n - s.length) + s;
}
<참고자료>
padStart
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
'알고리즘' 카테고리의 다른 글
프로그래머스 덧칠하기 자바스크립트 (0) | 2023.08.21 |
---|---|
프로그래머스 카드뭉치 자바스크립트 (0) | 2023.08.20 |
프로그래머스 기사단원의 무기 자바스크립트 (0) | 2023.08.18 |
프로그래머스 명예의 전당 자바스크립트 (0) | 2023.08.17 |
프로그래머스 같은 숫자는 싫어 자바스크립트 (0) | 2023.08.16 |