작성
·
193
·
수정됨
0
function solution(m, product) {
let answer = 0;
let n = product.length;
let cnt = 0;
product.sort((a, b) => a[0] / 2 + a[1] - (b[0] / 2 + b[1]));
// console.log(product);
for (let i = 0; i < n; i++) {
m = m - (product[i][0] / 2 + product[i][1]);
cnt++;
//console.log("cnt", cnt);
if (product[i][0] + product[i][1] > m) break;
answer = cnt;
}
return answer;
}
//콘솔에서는 cnt가 4로 나왔는데 답에서 3으로 출력이 됩니다.
답변 1
0
안녕하세요^^
for (let i = 0; i < n; i++) {
m = m - (product[i][0] / 2 + product[i][1]);
cnt++;
answer = cnt;
//console.log("cnt", cnt);
if (product[i][0] + product[i][1] > m) break;
}
위와 같이 answr = cnt 위치를 옮기면 answer = 4가 되겠지만 이 코드는 올바른 정답코드가 아닙니다.
위에 for(let i = 0; i < n; i++) 반복문 안쪽에서 m = m - (product[i][0] / 2 + product[i]\[1]); 코드 라인을 하고 나서 for(let j = 0; j < n; j++) 반복문이 돌아야 합니다.
전체적으로 이중 for문이어야 모든 입력 케이스에서 올바른 답이 나옵니다. 영상을 다시 시청하셨으면 좋겠습니다.
답변 감사합니다. 다시 한번 풀어보겠습니다:)