Inflearn Community Q&A
코드 리뷰 부탁드립니다!
Written on
·
177
0
function solution(m, product){
let answer=0;
let temp = m;
for(let p of product) {
p[0] /= 2;
let sum = [];
for(let i of product) {
sum.push(i[0] + i[1])
}
sum.sort((a,b)=> a-b);
let cnt = 0;
for(let i = 0; i < sum.length; i++) {
if(temp >= 0) {
temp -= sum[i];
cnt++;
}
if((temp < 0 || i === sum.length-1) && (cnt >= answer)){
answer = cnt;
break;
}
}
temp = m;
p[0] *= 2;
}
return answer;
}
* 이렇게 풀이를 해도 괜찮을까요?
1. 비용을 차례로 절반으로 한 뒤 가격+배송비의
배열을 오름차로 정렬시킴.
2. 예산에서 가격+배송비의 배열에서 하나씩 감소
시키며 개수 카운트함.
3. 개수의 최대를 answer로 함.
코테 준비 같이 해요! javascript
Answer 1
0
codingcamp
Instructor
안녕하세요^^
반례입니다. 답은 2입니다.
console.log(solution(596, [[6, 331], [4, 251], [8, 675], [5, 214], [10, 735], [5, 996], [9, 609], [9, 371], [8, 377], [5, 707], [7, 907], [6, 433], [9, 737], [8, 796], [4, 265], [3, 484], [8, 488], [8, 191], [9, 232], [4, 195]]));






if(temp > 0) 부분에서 if(temp - sum[i] > 0)으로 오류를 찾았습니다.
혹시 고친 코드로 다시 부탁드리겠습니다!! 감사합니다 ㅎㅎㅎ