-
코테 연습[자바 코테 준비 13일차] stream 연습CodeingTestPrac/Java Coding Test 2023. 7. 8. 12:57
https://school.programmers.co.kr/learn/courses/30/lessons/43105
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
dp 문제다 . 완탐시 어머무시 하게 가지수가 늘어난다.
1차 본인 풀이 정확성 -1 , 효율성 -2 이다.
public int solution1(int[][] triangle) { if(triangle.length == 1 ) return triangle[0][0]; if(triangle.length == 2 ) return Math.max(triangle[0][0] + triangle[1][0] ,triangle[0][0] + triangle[1][1]) ; List<Integer> tmp = new ArrayList<>(); tmp.add(triangle[0][0] + triangle[1][0]); tmp.add(triangle[0][0] + triangle[1][1]); for(int i = 2 ; i < triangle.length ; i++) { List<Integer> sortResult = new ArrayList<>() ; for(int j = 0 ; j < triangle[i].length;j++){ if(j == 0) { int givenh = tmp.get(0); sortResult.add(triangle[i][0]+givenh); } else if (j == triangle[i].length -1) { int givenl = tmp.get(tmp.size()-1); sortResult.add(triangle[i][i-1]+givenl); }else{ int givenR = tmp.get(j-1); int givenL = tmp.get(j); sortResult.add(Math.max(givenR,givenL) + triangle[i][j]); } } tmp = sortResult; } return tmp.stream().max(Comparator.naturalOrder()).orElse(0); }
2차 : GPT
public int solution(int[][] triangle) { if (triangle.length == 1) { return triangle[0][0]; } int[] dp = new int[triangle.length]; dp[0] = triangle[0][0]; for (int i = 1; i < triangle.length; i++) { dp[i] = dp[i - 1] + triangle[i][i]; // last element in each row for (int j = i - 1; j > 0; j--) { dp[j] = Math.max(dp[j - 1], dp[j]) + triangle[i][j]; } dp[0] += triangle[i][0]; // first element in each row } int maxSum = 0; for (int num : dp) { maxSum = Math.max(maxSum, num); } return maxSum; }
다른 사람의 풀이 중
public int solution(int[][] triangle) { for (int i = 1; i < triangle.length; i++) { triangle[i][0] += triangle[i-1][0]; triangle[i][i] += triangle[i-1][i-1]; for (int j = 1; j < i; j++) triangle[i][j] += Math.max(triangle[i-1][j-1], triangle[i-1][j]); } return Arrays.stream(triangle[triangle.length-1]).max().getAsInt(); }
'CodeingTestPrac > Java Coding Test' 카테고리의 다른 글
DS : Stack "baabaa" (0) 2023.07.14 프로그래머스 야근지수 자바 [14일차](효율성 문제) (0) 2023.07.09 DS : 이중 큐 (프로그래머스 자바 컴파일 환경 v14 ) (0) 2023.07.07 코테 연습[자바 코테 준비 12일차] stream 연습 (0) 2023.07.07 DS : "()" 문제 ArrayList 말고 Deque (스택 과 큐) ,PriorityQ (0) 2023.07.05