반응형
문제
Richest Customer Wealth - LeetCode
문제 해결 방법
- 2D어레이를 다루어서 값을 모두 더하고, 그를 이용해서 최적화를 할수 있는가 물어보는 문제이다.
- 처음에는 간단하게 다 더한 값을 어레이에 저장하고, 그 어레이를 지나며 최대값을 찾는 방식으로 답을 구하였는데, 최적화를 잘하면 굳이 어레이에 값을 저장할 필요가 없이 바로 최대값을 찾으면 된다.
- 일단 다 짠다음에서야 최적화가 가능하다는것을 깨달았는데, 바로 좋은 알고리즘을 짤수있도록 많이 문제를 풀어봐야 한다.
- 알고리즘
- 첫번째 반복문에서 각 어레이를 가져온다
- 두번쨰 반복문에서 각 어레이의 값을 모두 더한다
- 두번째 반복문이 끝나면 모두 더한값을 비교하여, 높은 수일 경우 저장한다
- 저장한 값을 리턴한다.
Github Link
https://github.com/eunhanlee/LeetCode_1672_RichestCustomerWealth_Solution.git
시간복잡도: O(n), 공간복잡도: O(1)
public class Solution {
/**
* 고객들 사이에서 최대 재산을 계산합니다.
*
* @param accounts 고객들과 그들의 계정의 재산을 나타내는 2차원 배열
* @return 고객들 사이에서 최대 재산
*/
public int maximumWealth(int[][] accounts) {
int max = 0; // 최대 재산을 0으로 초기화합니다.
for (int[] listOfWealth : accounts) {
int tempSum = 0; // 각 고객의 임시 합계를 0으로 초기화합니다.
for (int wealth : listOfWealth) {
tempSum += wealth; // 각 계정의 재산을 임시 합계에 더합니다.
}
max = Math.max(max, tempSum); // 임시 합계가 최대값인 경우 최대 재산을 업데이트합니다.
}
return max;
}
}
반응형
'old > Algorithm Solving' 카테고리의 다른 글
LeetCode 2413. Smallest Even Multiple 자바 문제 풀이 (0) | 2023.09.03 |
---|---|
LeetCode 75. Sort Colors 자바 문제 풀이 (0) | 2023.08.23 |
GFG Count the Substrings 자바 문제 풀이 (0) | 2023.08.09 |
LeetCode 236. Lowest Common Ancestor of a Binary Tree 자바 문제 풀이 (0) | 2023.08.07 |
LeetCode 2235. Add Two Integers 자바 문제 풀이 (0) | 2023.08.05 |