문제 보러 가기:
https://programmers.co.kr/learn/courses/30/lessons/17681
코딩테스트 연습 - [1차] 비밀지도
비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다
programmers.co.kr
나의 풀이:
https://programmers.co.kr/learn/courses/30/lessons/17681/solution_groups?language=javascript&type=my
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
(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 |