목록전체 글 (126)
차차로그
function solution(progresses, speeds) { var answer = []; for(var i = 0; i =answer[i+1]){ count++; }else{ arr.push(count); count = 1; val = answer[i+1]; } } return arr; } 먼저 pro..
function solution(clothes) { var map = new Map(); for(var i = 0; i 2, 'eyewear' => 1 } var arr = []; for(var [key,val] of map){ arr.push(val); } // [ 2, 1 ] return arr.reduce((acc,val)=>acc*(val+1),1) - 1; } MAP을 선언해 clothes배열에 담긴 옷의 종류별로 map에 담아준다. 그리고 계산의 편의를 위해 value만 담긴 배열을 하나 만들어준다..
function solution(operations) { var answer = []; for(var i = 0; i b-a); answer.shift(); }else{ answer.sort((a,b)=>a-b); answer.shift(); } break; } } answer.sort((a,b)=>a-b); return answer.length..
문제가 난해하고 테스트케이스도 하나밖에 없어서 너무 헷갈렸던 문제. H가 주어진 배열에 있는 값이 아니라 단순 카운트를 한 값이었다. function solution(citations) { citations.sort((a,b)=>b-a); var up = 1; if(citations.reduce((acc,val)=>acc+val) == 0){ return 0; } for(var i = 1; i i){ up++; } } return up; } 먼저 주어진 배열 citations을 내림차순으로 정렬해준다. 그리고 카운트를 할 변수를 1으로 선언, 초기화해준다. 만약에 배열이 [0,0,0]처럼 모든 값이 0이라면 답은 결국 0이 되므로 이러한 조건에선 리턴 0을 해준다. (TC 16번) 배열이 내림차순으로 정..
function solution(arr1, arr2) { var answer = []; for(var i = 0; i < arr1.length; i++){ var arr = []; for(var j = 0; j < arr2[0].length; j++){ var mul = 0; for(var k = 0; k < arr2.length; k++){ mul += arr1[i][k] * arr2[k][j] } arr.push(mul); } answer.push(arr); } return answer; } *행렬은 왼쪽 행렬의 col이 오른쪽 행렬의 row와 길이가 같아야 곱셈이 가능하다. i는 arr1의 row, j는 arr2의 row면서 arr1의 col, k는 arr2의 col을 의미한다. 첫 번째 예시로 확..
function solution(n, s) { if(n > s){ return [-1]; } var div = Math.floor(s / n); var answer = new Array(n).fill(div); for(var i = 0; i < s % n; i++){ answer[answer.length - 1 - i]++; } return answer; } 만약에 N이 2인데 S가 1이라면 두 개의 숫자로 1을 만들 수는 없기 때문에 이런 경우에는 [-1]을 리턴해준다. 먼저 s를 n으로 나누고 소수점 자리를 내려서 정수부분만 변수에 담아준다. (s가 5이고 n이 3이라면 1만 변수 div에 담는다) 그리고 n만큼의 배열을 만들어 그 값을 모두 div로 채워준다. ([1,1,1]) 최고의 집합이 나오려..