2주차 · 배열: 1차원과 2차원
쉬움배열구현

행의 합이 가장 큰 줄

2차원 정수 배열 grid가 주어져요. 각 행의 합을 구해, 합이 가장 큰 행의 인덱스를 반환해요.

합이 같은 행이 여러 개면 인덱스가 가장 작은 행을 반환해요.

grid[i][j] 에서 i는 행, j는 열이에요. 바깥 반복문이 행, 안쪽 반복문이 열이라는 순서에 익숙해지는 게 이 문제의 목적이에요.

예시

예시 1
예시 2
예시 3

제한 사항

  • 1 ≤ grid.length ≤ 500
  • 1 ≤ grid[i].length ≤ 500
  • 모든 행의 길이는 같아요.
  • -10^6 ≤ grid[i][j] ≤ 10^6
행마다 합을 구해 지금까지의 최댓값과 비교하면 돼요. 같을 때 갱신하지 않아야 앞선 인덱스가 남아요 — >>= 중 어느 쪽을 쓸지가 이 문제의 함정이에요.
javascript
function maxRowSum(grid) {
let best = 0;
let bestSum = -Infinity;
for (let i = 0; i < grid.length; i++) {
let sum = 0;
for (let j = 0; j < grid[i].length; j++) sum += grid[i][j];
if (sum > bestSum) {
bestSum = sum;
best = i;
}
}
return best;
}
에디터를 불러오고 있어요…
코드를 작성하고를 눌러 예시 테스트를 확인해 보세요.