목록Coding Test (61)
undefined

문제 설명 문제 풀이 function solution(N, stages) { let userNum = stages.length let answer = [] for(let i = 1; i e===i).length let value = userInOneStage/userNum userNum-=userInOneStage answer.push({key:i,value:value}) answer.sort((a,b)=> a.value === b.value ? a.key-b.key : b.value-a.value ) } return answer.map(e=>e.key) } 1. filter를 이용하여 같은 스테이지에 있는 유저를 구해준다. 2. value = 실패율 (스테이지 클리어 못한 유저수/ 스테이지에 도달한 유..

문제 설명 문제 풀이 function solution(a, b) { let answer = 0 // a와 b의 같은 순서의 요소를 서로 곱함 => a 배열의 길이만큼 반복 for(let i = 0; i acc += a[i]*b[i],0) } reduce의 활용

문제 설명 문제 풀이 function solution(numbers, hand) { // 배열에 값을 부여 const list ={ 1:[0,0], 2:[0,1], 3:[0,2],4:[1,0],5:[1,1],6:[1,2],7:[2,0], 8:[2,1],9:[2,2],'*':[3,0],0:[3,1],'#':[3,2]} let answer = '' // 손가락의 초기값 let left = list['*'] let right = list['#'] for(let n of numbers) { // n의 현재위치 let[i,j] = list[n] // L[1,4,7,] or R[3,6,9] 그리고 각 손가락의 현재위치 업데이트 if(j === 0) { answer += 'L' left = list[n] } else..

문제 설명 문제 풀이 function solution(sizes) { const rotated = sizes.map(([w,h])=> w > h ? [w,h] : [h,w]) let wArr = [] let hArr = [] rotated.map(([w,h]) => { wArr.push(w) hArr.push(h) }) return Math.max(...wArr) * Math.max(...hArr) } 1. 배열을 맵핑하여 w,h를 비교, 각자 큰 쪽으로 큰 수 몰아주기 2. 배열에 각각 넣어준다 3. 가장 큰 수를 찾아서 곱해준다. *다른 분의 코드를 참고하였습니다. 개선 사항 function solution(sizes) { const rotated = sizes.map(([w,h])=> w > h ..

문제 설명 문제 풀이 function solution(nums) { const set = new Set(nums) const arraySet = [...set] if(arraySet.length > nums.length/2 ) { return nums.length/2 } else { return arraySet.length } } 1. set 으로 중복된 값 모두 제거 2. array로 스프레드 3. 위의 배열의 길이를 num의 길이를 2로 나눈 수와 비교하여 더 작은 수의 값 리턴 개선 사항 function solution(nums) { const arraySet = [...new Set(nums)] return arraySet.length > nums.length/2 ? nums.length/2 :..

문제 설명 문제 풀이 function solution(n, lost, reserve) { const students = new Array(n).fill(1) lost.map(l => students[l-1]--) reserve.map(r => students[r-1]++) students.map((_,i)=> { if(students[i] > 1 && students[i-1] === 0 ) { students[i]-- students[i-1]++ } else if (students[i]>1&&students[i+1] === 0) { students[i]-- students[i+1]++ } }) return students.filter(s => s > 0).length } 1. 학생 수 n 길이 만큼의 배..