알고리즘
귤 고르기 js
Jaeilit
2023. 5. 25. 14:20
728x90
내 오답
function solution(k, t) {
var answer = 0;
let obj = {}
t.forEach((i) => {
obj[i] = ++obj[i] || 1
})
const oj = Object.entries(obj).sort((a,b) => b[1] -a[1])
let sum = 0
let count = 1
if(oj[0][1] >= k){
return 1
}
for(let i=0; i<oj.length; i++){
for(let j=i+1; j<oj.length; j++){
if(sum === 0){
sum = oj[i][1] + oj[j][1]
}else {
sum+=oj[j][1]
}
count++
if(sum >= k){
if(answer === 0){
answer = count
}
answer = answer < count ? answer : count
break;
}
}
sum = 0
count = 1
}
return answer;
}
정답코드
결론,
귤을 담을 때 모든 크기와 다른 종류를 모두 비교해서 작은 수만 구하는 줄 알고 완탐이구나 생각하고 2중 for문 돌려버렸다.
혹시나 투포인트로 할수있을까 했는데 당장 떠오르는지도 않고 로직이 간단할거같지않아서 해보지는 않았다.
시간초과가 떠서 정답코드를 보니깐 갯수만 체크해서 k 랑만 비교하면 됬다.
문제를 이해를 잘못한거같다.
728x90