본문 바로가기
알고리즘

Leet Code 1672

by irerin07 2023. 7. 25.
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