Lv 4. 도둑질

2025. 1. 20. 13:14·Algorithm & Data Structures/Programers

 

https://school.programmers.co.kr/learn/courses/30/lessons/42897

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

고민했던 흔적

 

 

이전에 한번 풀어본 유형의 DP 유형이었기에 쉽게

풀이할 수 있었다.  첫집과 끝집은 연결되어 있기 때문에

dp 배열을 2가지 종류로 나누어야했는데,

 

dp1은 첫집을 포함하는 경우로서 마지막 집의 포함경우를 제외하였고

dp2는 첫집을 포함하는 경우를 제외하는경우로서 마지막집의 돈을 포함한 결과이다.

 

결국 dp[0]은 0으로 설정해 주고 Math.max 함수를 통해

dp[i] = Math.max(dp[i-1],dp[i-2]+dp[i]) 라는 점화식을 세워

풀이할 수 있었다.

 

LV 4. 치곤 풀만한 문제였다.

 

 

import java.util.*;

class Solution {
    int[] dp1,dp2;
    public int solution(int[] money) {
        int size = money.length;
        dp1 = new int[size+1];
        dp2 = new int[size+1];
        dp1[0] = 0;
        dp2[0] = 0;
        for(int i = 0 ; i < size-1 ; i++){
            dp1[i+1] = money[i];
            dp2[i+1] = money[i+1];
        }
        for(int i = 2 ; i < dp1.length ; i++){
            dp1[i] = Math.max(dp1[i-1],dp1[i-2]+dp1[i]);
            dp2[i] = Math.max(dp2[i-1],dp2[i-2]+dp2[i]);
        }
        return Math.max(dp1[size-1],dp2[size-1]);
    }
}

'Algorithm & Data Structures > Programers' 카테고리의 다른 글

Lv3. 길찾기 게임  (1) 2025.01.24
Lv2. 혼자 놀기의 달인  (0) 2025.01.22
Lv 2. 충돌위험 찾기  (0) 2025.01.16
Lv 2. 석유 시추  (0) 2025.01.14
Lv 2. 두 원사이의 정수 쌍  (0) 2025.01.11
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv3. 길찾기 게임
  • Lv2. 혼자 놀기의 달인
  • Lv 2. 충돌위험 찾기
  • Lv 2. 석유 시추
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (313) N
      • Algorithm & Data Structures (235)
        • BOJ (93)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (25) N
        • SQL (19) N
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dfs
    Dijkstra
    programmers
    동적계획법
    Java
    Stack
    프로그래머스
    dp
    Union-Find
    백준
    PriorityQueue
    백트래킹
    algorithm
    골드
    유니온파인드
    다익스트라
    투포인터
    DynamicProgramming
    baekjoon
    후위순회
    unionfind
    이분탐색
    BFS
    알고리즘
    전위순회
    경로압축
    binarySearch
    구현
    SQL
    스택
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 4. 도둑질
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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