오늘 알고리즘 문제를 풀면서 cs 지식의 중요성을 알게 되었다.
문제는 2018년 카카오 코딩테스트에서 나온 배열 탐색 문제이다.
문제와 이해
이진법을 1과 0을 구분해서 지도의 칸이 벽인지 비어있는지 찾아야 합니다.
계획
일차원 배열의 각 값들을 이진법으로 변경합니다.
그리고 이중 반복문을 통해서 배열안에 문자열을 탐색합니다.
풀이
function solution(n, arr1, arr2) {
const answer = [];
for (let i = 0; i < n; i++) {
arr1[i] = arr1[i].toString(2).padStart(n, "0");
arr2[i] = arr2[i].toString(2).padStart(n, "0");
answer[i] = "";
for (let j = 0; j < n; j++) {
if (arr1[i][j] === "1" || arr2[i][j] === "1") {
answer[i] += "#";
} else {
answer[i] += " ";
}
}
}
return answer;
}