728x90
public int maximumWealth(int[][] accounts) {
// int answer = 0;
// int temp = 0;
//
// accounts= new int[][] {{2,8,7}, {7,1,3},{1,9,5}};
//
// for (int[] account : accounts) {
// for (int i : account) {
// temp += i;
// }
// if (temp > answer) {
// answer = temp;
// }
// temp = 0;
// }
// int answer = 0;
// for(int i =0;i<accounts.length;i++){
// int temp = 0;
// for(int j = 0;j<accounts[i].length;j++){
// temp+=accounts[i][j];
// }
// answer = Math.max(res,temp);
// }
// return answer;
//
// int answer = 0;
//
// for (int i = 0; i < accounts.length; i++) {
// int tempSum = 0;
// for (int j = 0; j < accounts[i].length; j++)
// tempSum += accounts[i][j];
//
// if (answer < tempSum)
// answer = tempSum;
// }
// return answer;
//
return Arrays.stream(accounts)
.mapToInt(customer -> Arrays.stream(customer).sum())
.max()
.getAsInt();
}
첫 솔루션은 그냥 뇌 빼고 풀어본 솔루션.
매 루프마다 값을 더해서 비교 연산까지 수행한다.
두번째 솔루션은 조금 더 정리한 솔루션
Math.max를 사용해 비교 연산을 좀 더 보기 좋게 처리했다.
추가적으로 총 합을 구하는 로직도 함께 수정했다.
세번째 솔루션은 릿코드에서 성능이 제일 좋다고 나온 솔루션
두번째와 비교했을때 큰 차이가 없어서 신기했다.
네번쨰 솔루션은 stream을 사용해서 풀어본 솔루션.
확실히 pipeline을 사용하면 가독성이 좋아지는 것 같다.
728x90
'알고리즘' 카테고리의 다른 글
array partition (0) | 2023.09.30 |
---|---|
Leet Code 412 (0) | 2023.07.25 |
Leet Code 1480 (0) | 2023.07.25 |
[백준] N과 M (4) [자바/Java] (0) | 2020.07.19 |
[백준] 피보나치 함수 [Java/ 자바] (0) | 2020.06.14 |