본문 바로가기

코딩테스트29

[Lv.1] 비밀지도 1. 문제 2. 전략 1) 지도1과 지도2 배열 각각 10진수를 2진수로 변경하여 spread연산자로 펼쳐서 0과 1로 된 배열 생성 2) 생성된 지도1배열과 지도2배열을 비교하여 1이 존재하는 좌표는"#", 두 좌표 모두 0인 경우 0으로 치환 3) 각각의 배열을 array.join('') 으로 연결하여 출력 function solution(n, arr1, arr2) { var answer = []; let a1 = []; let a2 = []; // 2진수의 a1 배열 생성 for(i in arr1){ //정사각형이므로 arr1, arr2 둘다 같은수 반복으로 사용가능 a1.push([...arr1[i].toString(2)]) a2.push([...arr2[i].toString(2)]) } //00.. 2023. 1. 31.
[Lv.1] 3진법 뒤집기 1. 문제 2. 풀이 function solution(n) { var answer = parseInt([...n.toString(3)].reverse().join(''),3) // n.toString(3) 은 10->3진법 변환 // 배열로 나눈 뒤 reverse()로 순서를 바꿔서 join으로 연결해준 뒤 // parseInt()로 3->10진법 변환 return answer; } 3. 알아야할 사항 1) 10진법 -> n진법 : num.toString(n) 2) n진법 -> 10진법 : parseInt(num,n) 2023. 1. 31.
[Lv.1] JS 최대공약수, 최소공배수 구하기 1. 문제 2. 풀이 function solution(n, m) { var answer = []; let 공약수 =[]; let 최대공약수; let 최소공배수; for(let i = 1; im?n:m); i++){ if(n % i ===0 && m % i ===0){ //i로 나눴을때 두 수 모두 나머지가 0인 수를 모두 공약수배열에 넣어버린다 공약수.push(i) } } 최대공약수 = Math.max(...공약수) //공약수 중에 가장 큰 수가 최대공약수 최소공배수 = (n/최대공약수 * m/최대공약수 * 최대공약수) //최소공배수 공식 : 초등학생 때 배운거다. answer = [최대공약수, 최소공배수] return answer; } 3. 알아야할 사항 1) 그냥 공약수 공배수는 가끔 쓸 것 같아서 .. 2023. 1. 31.
[Lv.0] 정복기념 레벨0 다풀었다.. 풀다가 안쓰던 메소드나 로직, 어려운거 포스팅 몇개 해보려고 했는데 어느새 다 풀었다. 다른 문제들은 올려놓은 포스팅 짬뽕이더라.. 레벨1도 풀면서 어려운 부분 기록하고 공유해야지! 오늘 공부 끝! 2023. 1. 30.
프로그래머스 알고리즘 문제 입문기(JS) 1. 목적 - 알고리즘 독학을 위해 프로그래머스 문제풀이를 도전하고, 블로그에 기록하여 개발 커리어와 지식 발전에 도움이 되도록 한다. 2. 진행 - lv.0 부터 차근차근 밟아나가며, 주 2회 이상, 4단계 정복을 목표로 한다. - 너무 쉬운 JS기초문법에 관한 내용은 포스팅하지 않는다. 3. 규칙 - 짧고 간결한 문체로 작성하여, 누군가가 보거나 내가 다시 보더라도 알아보기 쉽게 기록한다. - 풀이설명 이후 마지막에 풀이에 필요했던 메소드나 방법을 정리하는 시간을 가진다. - 다른사람의 풀이는 절대 보지 않는다. 끝. 시작해보자! 2023. 1. 30.