-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
코드 확인 부탁드립니다.
23.05.17 05:28 작성 23.05.17 05:29 수정 조회수 149
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으로 출력이 됩니다.
답변을 작성해보세요.
0
김태원
지식공유자2023.05.18
안녕하세요^^
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문이어야 모든 입력 케이스에서 올바른 답이 나옵니다. 영상을 다시 시청하셨으면 좋겠습니다.
답변 1