Baekjoon/DP

[백준] 1912 연속합 (실버2) / DP

2023. 5. 16. 11:51

문제요약

나의 코드 및 설명

n = int(input())
num_list = [0] + list(map(int, input().split()))
dp = [0] * (n+1) #dp테이블에 연속된 수들의 합 저장(만약 연속된 수들의 합이 음수라면 0 저장)

ans = 0

for i in range(1, n+1): #dp테이블 채우기
    dp[i] = dp[i-1] + num_list[i] #dp[i](현재 인덱스)는 이전까지 저장된 합(dp[i-1] + 현재숫자(num_list[i])
    if dp[i] < 0: #만약 연속된 수들의 합이 음수가 된다면
        dp[i] = 0 #음수말고 그냥 안더하는 걸 선택. 0으로 갱신

if max(num_list[1:]) < 0: #수열들이 음수로만 구성되어 있다면,
    ans = max(num_list[1:]) #그냥 안더해보고, 수열들 중 가장 큰 값이 정답
else:
    ans = max(dp)

print(ans)

피드백

DP 알고리즘 연습을 위해 풀어본 문제. dp 테이블에 연속된 수들의 합을 저장한다. 이 때, 합이 음수가 된다면 초기값인 0으로 갱신한다. 

DP 문제를 풀어보다보니, DP 문제 풀이의 공통점을 체감할 수 있었다. DP 문제는 1. 규칙을 찾고, 2. dp 테이블을 그려보고, 3. 점화식을 구해서 구현하면 된다. 여러 문제를 풀어보면서 문제 풀이에 익숙해질 수 있도록 해야겠다.

'Baekjoon > DP' 카테고리의 다른 글

[백준] 11053 가장 긴 증가하는 부분 수열 (실버2) / DP  (0) 2023.05.16
[백준] 1463 1로 만들기 (실버3) / DP, DP풀이법 정리  (0) 2023.05.16
'Baekjoon/DP' 카테고리의 다른 글
  • [백준] 11053 가장 긴 증가하는 부분 수열 (실버2) / DP
  • [백준] 1463 1로 만들기 (실버3) / DP, DP풀이법 정리
hellosonic
hellosonic
hellosonic
꾸준함
hellosonic
전체
오늘
어제
  • 분류 전체보기 (285)
    • SSAFY (4)
    • 프로그래머스 데브코스 (26)
    • Diary (1)
    • JavaScript (20)
    • ToyPJ (13)
      • Python-Django (13)
    • CS지식 (11)
      • 자료구조 (5)
      • 개발 상식 (2)
      • 네트워크 (4)
    • Baekjoon (141)
      • IM Level (57)
      • DFS와 BFS (21)
      • 백트래킹 (21)
      • DP (3)
      • 이분탐색 (4)
      • 구현 (14)
    • Programmers (13)
      • Lv1 (4)
      • Lv2 (9)
    • SWEA (SW Expert Academy) (52)
      • D1 (5)
      • D2 (7)
      • D3 (40)
    • 이코테 (4)
    • Grammar (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 관리자

공지사항

인기 글

태그

  • 파이썬 1269
  • 자바스크립트
  • SWEA D2
  • 파이썬 2529
  • javascript ux
  • 프로그래머스 데브코스
  • SWEA D3
  • 국비지원교육
  • 파이썬
  • 리액트 todolist
  • 구현
  • 파이썬 11478
  • SWEA 파이썬
  • 백준 5212
  • 자바스크립트 기본기
  • 백준 14891
  • JS
  • 코딩부트캠프
  • SWEA/D3
  • 백준 2999
  • 프로그래머스
  • 프론트엔드 데브코스
  • 파이썬 1946
  • 그리디
  • SWEA
  • 백준 18870
  • 파이썬 1436
  • 이코테
  • 백준 1157
  • 백준

최근 댓글

최근 글

hELLO · Designed By 정상우.
hellosonic
[백준] 1912 연속합 (실버2) / DP
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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