반응형
1. 문제
- 행을 고객, 열을 은행이라 가정하고, 각 고객마다 은행에 있는 계좌의 수(?) 혹은 돈의 가장 큰 값을 반환해라.
2. 해결
function maximumWealth(accounts: number[][]): number {
let max = 0;
// 1. 고객 반복문
accounts.forEach((customer, index) => {
// let wealth = 0;
// accounts[index].forEach((bank, bIndex) => {
// wealth += accounts[index][bIndex];
// })
// 2. 은행 반복 및 누산기.
const wealth = accounts[index].reduce((bank, sum) => sum + bank);
// 3. 최대값 갱신.
max = Math.max(max, wealth)
})
return max;
};
- 주석한 건 처음 풀이이고, 작성 내용은 다른 사람 풀이를 보고 누산기의 존재를 깨닫고 사용해봤다.
- 확실히 누산기가 깔끔하다.
- 풀이는 그냥 뭐... 그냥 반복 돌면서 누적 값을 최대값과 비교하면 끝이다.