anott
기록
anott
  • 분류 전체보기
    • 오라클
    • SQL
    • 알고리즘
      • 백준저지
      • 프로그래머스
      • SWEA
    • 개발 관련
    • 프론트엔드
      • TypeScript, Next.js
      • React 공식문서 읽기
hELLO · Designed By 정상우.
anott
알고리즘/프로그래머스

프로그래머스 정수 삼각형

프로그래머스 정수 삼각형
알고리즘/프로그래머스

프로그래머스 정수 삼각형

2021. 9. 22. 23:48

출처: https://programmers.co.kr/learn/courses/30/lessons/43105

 

코딩테스트 연습 - 정수 삼각형

[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30

programmers.co.kr

 

제출 날짜: 2021년 9월 22일 수요일

 

 

접근 방법

두 번째 줄부터 마지막 줄까지 이전 줄의 왼쪽 또는 오른쪽의 최댓값을 반복해서 더한다. 이때 맨 왼쪽과 맨 오른쪽은 각각 이전 줄의 왼쪽과 오른쪽 하나씩 그대로 가져와 더한다.

마지막 줄에서 최댓값을 답으로 출력한다.

 

 

 

생각

최댓값을 for문을 사용해서 구했는데, 다른 정답 풀이를 보니 한 줄에 끝내는 것이 있어 따라해봤다.

 

 

 

코드

import java.util.Arrays;

class Solution {
    public int solution(int[][] triangle) {
        int answer = 0;

        for (int i = 1; i < triangle.length; i++) {
            for (int j = 0; j < triangle[i].length; j++) {
                if (j == 0) { // 제일 왼쪽에 있다면 그대로
                    triangle[i][j] += triangle[i - 1][j];
                } else if (j == triangle[i].length - 1) { // 제일 오른쪽에 있다면 그대로
                    triangle[i][j] += triangle[i - 1][j - 1];
                } else { // 그외는 윗줄의 왼쪽과 오른쪽 중 더 큰 값 가지기
                    triangle[i][j] += Math.max(triangle[i - 1][j - 1], triangle[i - 1][j]);
                }
            }
        }

        // 최댓값
        // for (int j = 0; j < triangle[triangle.length - 1].length; j++) {
        //     answer = Math.max(answer, triangle[triangle.length - 1][j]);
        // }
        answer = Arrays.stream(triangle[triangle.length - 1]).max().getAsInt();

        return answer;
    }
}

 

저작자표시 비영리 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

프로그래머스 게임 맵 최단거리 (Java)  (0) 2021.10.05
프로그래머스 뉴스 클러스터링  (0) 2021.09.21
프로그래머스 메뉴 리뉴얼  (0) 2021.09.13
프로그래머스 순위 검색  (0) 2021.09.09
프로그래머스 구명보트  (0) 2021.09.07
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • 프로그래머스 게임 맵 최단거리 (Java)
    • 프로그래머스 뉴스 클러스터링
    • 프로그래머스 메뉴 리뉴얼
    • 프로그래머스 순위 검색
    anott
    anott

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.