문제 보러 가기:
https://programmers.co.kr/learn/courses/30/lessons/17681
나의 풀이:
https://programmers.co.kr/learn/courses/30/lessons/17681/solution_groups?language=javascript&type=my
(1) 각 array의 숫자들을 이진법으로 만들어준다. (2) 위 과정에서 얻은 두 개 배열을 돌며 각 원소의 글자가 1일 경우 "#"을 넣어주고, 아니면 " "을 넣어준다. |
코드로 풀어보자면
(1) 각 aaray의 숫자들을 이진법으로 만들기
arr1.forEach((s)=>{
var binary = s.toString(2);
while(binary.length < n){
binary = '0' + binary;
}
map1.push(binary);
})
(2) 두 개 배열을 돌며 각 원소 글자가 1일 경우 "#", 아니면 " " 넣어주기
for(var i=0;i<n;i++){
var tmpS = '';
for(var j=0;j<n;j++){
if(map1[i][j] === '1' || map2[i][j] === '1') tmpS += '#';
else tmpS += " ";
}
answer.push(tmpS);
}
(3) 최종 코드
function solution(n, arr1, arr2) {
var answer = [];
var map1 = [], map2 = [];
arr1.forEach((s)=>{
var binary = s.toString(2);
while(binary.length < n){
binary = '0' + binary;
}
map1.push(binary);
})
arr2.forEach((s)=>{
var binary = s.toString(2);
while(binary.length < n){
binary = '0' + binary;
}
map2.push(binary);
})
for(var i=0;i<n;i++){
var tmpS = '';
for(var j=0;j<n;j++){
if(map1[i][j] === '1' || map2[i][j] === '1') tmpS += '#';
else tmpS += " ";
}
answer.push(tmpS);
}
return answer;
}
'코딩테스트' 카테고리의 다른 글
[코딩테스트 기본] 10진수를 2진수로 바꾸기 (Javascript) (0) | 2022.02.20 |
---|---|
[코딩테스트] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기(Javascript) (0) | 2022.02.06 |
[프로그래머스 코딩테스트] 완전탐색 > 모의고사 (level 1) (0) | 2021.12.26 |
[코딩테스트] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기(Javascript) (0) | 2021.11.22 |
[코딩테스트] 2020 카카오 인턴십 - 키패드 누르기 (Javascript) (0) | 2021.11.21 |