전체 글

https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 나의 코드 function solution(array, commands) { let classify let box = [] for(i=0; i a-b..
나의코드 처음에는 아래처럼 작성했다 function solution(participant, completion) { let fail = []; for(i=0; i { pre[cur] = (pre[cur] || 0) +1; return pre },{}) for(i=0; i 0) return k; } return 'nothing'; } 이때는 map 객체를 몰라서 공부하고 왔다. 예시 테스트 케이스 participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" 해설 map.set(a ~ 에서 처음에 맵 객체가 텅 비어있으니 map.get(a)는 undefine 이 나와서 0으로 되고 + 1 이 된다. 즉 맵 객체안에 [["leo", ..
이전에 우리가 알고있는 자료구조는 객체 - 키가 있는 컬렉션을 저장함 배열 - 순서가 있는 렉션을 저장함 였지만 현실세계를 반영하기에는 이 두 자료구조 만으론 부족해서 Map Object가 만들어졌다. 맵 객체 메소드 맵 객체는 기존 객체와는 다르게 메소드만을 이용해 값을 넣고 뺀다. 기본적으로 추가, 조회, 삭제를 할 수 있는 메소드들은 아래와 같다 //변수명 자유롭게 설정 가능 let map = new Map(); // set으로 맵 객체에 추가 map.set("id", 0); map.set("이름", "마이클"); map.set("전공", "영문학"); map.set("나이", 25); // 이런식으로 정의할때부터 바로 넘겨줄 수 도 있음 let michael = new Map([ ["id", 0]..
그새 또 소수 구하는 것을 까먹었다 다시 공부 ㄲ 서로다른 3개를 뽑을때는 for 3중첩 해주기 나의 코드 function solution(nums) { //서로다른 3개를 어떻게 뽑지? const isPrime = (num) => { if(!num || num === 1) return false; for(let i = 2; i < num; i++){ if(num % i === 0) return false } return true } let box = 0; let result = []; for(i=0; i
https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 왜 reduce로 바로하는 방법을 생각하지 못했을까 ? 둘 다 배열로 주어지니 reduce사용해야겠다 바로 떠올려보자 나의 코드 function solution(a, b) { let box = []; for(i=0, k=0; i
https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 한 2분이면 풀겠다 했는데 20분이 걸렸다. 아직 reduce에 대해서 완변하게 이해 못한 것 같다. 그리고 reduce 에서 index를 적극 활용하자 나의 코드 function solution(absolutes, signs) { const result = absolutes.reduce((pre, cur, i) => { if(signs[..
the "Cannot read property '0' of undefined" error occurs when trying to access the index '0' on a variable that stores an 'undefined' value. 이것을 해결하기 위해서는 array 이나 string 같은 인덱스 엑세스를 지원하는 값에만 엑세스해야한다. 예제 const arr = undefined; // ⛔️ Cannot read properties of undefined (reading '0') console.log(arr[0]); const str = undefined; // ⛔️ Cannot read properties of undefined (reading '0') console.log(str..
 Array.prototype.reduce() 주의 : reduce는 원본배열을 변환시키지 않는다. reduce 메서드는 자신을 호출한 배열을 모든 요소를 순회하며 인수로 전달받은 콜백 함수를 반복 호출한다. 그리고 콜백 함수의 반환값을 다음 순회 시에 콜백 함수의 첫 번째 인수로 전달하면서 콜백 함수를 호출하여 하나의 결과값을 만들어 반환한다. 이때 원본 배열은 변경되지 않는다 reduce 메서드는 자신을 호출한 배열의 모든 요소를 순회하며 하나의 결과값을 구해야 하는 경우에 사용한다. const sum = [1, 2, 3, 4].reduce((accumulator, currentValue, index, array) => accumulator + currentValue, 0) console.log(s..
https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 나의 코드 function solution(board, moves) { var answer = 0; var box = []; let boards = board for( i=0; i < moves.length; i++){ let moving = moves[i] for(k=0; k { return unique[unique.length - 1] === item ? unique.slice(0,-..
개발자성장기
개발 공부 노트