문제
프로그래머스 2018 KAKAO BLIND RECRUITMENT 비밀지도
https://programmers.co.kr/learn/courses/30/lessons/17681
언어
자바스크립트(JavaScript)
접근 방법
- Input을 2진수로 변환하고 왼쪽에 빈 부분은 0으로 채운다.
- 겹쳤을 때 1인 부분은 #, 0인 부분은 공백으로 둔다.
코드
function solution(n, arr1, arr2) {
var answer = [];
let newArr1 = [];
let newArr2 = []
// 2진수로 변환하며 빈 부분은 0으로 채움
for (let i=0; i<n; i++){
let tempArr1 = [];
let str1 = arr1[i].toString(2);
for (let j=0; j<n-str1.length; j++){
tempArr1.push(0);
}
for (let j=0; j<str1.length; j++){
tempArr1.push(str1[j]);
}
newArr1.push(tempArr1);
let tempArr2 = [];
let str2 = arr2[i].toString(2);
for (let j=0; j<n-str2.length; j++){
tempArr2.push(0);
}
for (let j=0; j<str2.length; j++){
tempArr2.push(str2[j]);
}
newArr2.push(tempArr2);
}
// 겹쳤을 때 1인 부분은 # 0인 부분은 공백으로 둠
for (let i=0; i<n; i++){
let str = ''
for (let j=0; j<n; j++){
if(newArr1[i][j] === '1' || newArr2[i][j] === '1'){
str+='#';
}else{
str+=' ';
}
}
answer.push(str);
}
console.log(newArr1, newArr2, answer);
return answer;
}
복기
- 어렵지 않게 풀었다.
- 2진수로 변환하는 코드는 짜지 않고 toString을 이용한다.
'개발 공부 > 알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 게임 (JavaScript) (0) | 2020.06.04 |
---|---|
[프로그래머스] [1차] 다트 게임 (JavaScript) (0) | 2020.06.02 |
[프로그래머스] 실패율 (JavaScript) (2) | 2020.06.02 |
[프로그래머스] 후보키 (JavaScript) (4) | 2020.06.01 |
[프로그래머스] 기둥과 보 설치 (JavaScript) (0) | 2020.06.01 |