문제 🔽
https://school.programmers.co.kr/learn/courses/30/lessons/138476
다른사람 풀이 🔽
function solution(k, tangerine) {
let answer = 0;
const tDict = {};
tangerine.forEach((t) => tDict[t] = (tDict[t] || 0) + 1);
const tArr = Object.values(tDict).sort((a, b) => b - a);
for (const t of tArr) {
answer++;
if (k > t) k -= t;
else break;
}
return answer;
}
내풀이🔽
1. 성공 ⭕
function solution(k, tangerine) {
let object ={}
tangerine.forEach((value)=>{
if(object[value]){
++object[value];
}else{
object[value]=1;
}
})
let answer=0
let sum=0
let valueArray = Object.values(object).sort((a,b)=>{ return b-a})
for(let i=0; i<valueArray.length; i++){
++answer
if(sum+valueArray[i]>=k){
break;
}
sum+=valueArray[i]
}
return answer;
}
느낀점🔽
Object.keys(object) 와 Object.values(object) 의 사용법에 대해 숙지할 수 있는 좋은 기회였다.
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 연속 부분 수열 합의 개수(lv2) (0) | 2023.06.30 |
---|---|
프로그래머스 코딩테스트 풀이(js) > H-index(lv2) (0) | 2023.06.29 |
프로그래머스 코딩테스트 풀이(js) > 멀리뛰기(lv2) (0) | 2023.06.27 |
프로그래머스 코딩테스트 풀이(js) > N개의 최소공배수(lv2) (0) | 2023.06.26 |
프로그래머스 코딩테스트 풀이(js) > 점프와 순간이동(lv2) (0) | 2023.06.25 |