[13398번] 연속합2 (한개 수 삭제)

2023. 4. 11. 18:27·Coding Test/DP
728x90
 

13398번: 연속합 2

첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

분석

  • L[N] : 왼쪽에서부터 N을 포함한 최대 연속 합
    • L[i]= max(A[i], L[i-1]+A[i])
  • R[N] : 오른쪽에서부터 N을 포함한 최대 연속 합
    • R[i]= max(A[i], R[i+1]+A[i])
  • L[N-1] + R[N+1] : N을 1개 제거한 최댓값 (1개의 수를 삭제할 수 있기 때문)
 

[1912번] 연속합

1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 n

karla.tistory.com

 

풀이

n = int(input())
list = list(map(int, input().split()))

# 왼쪽부터 최대 연속합
L=[0]*n
L[0]=list[0]
result=L[0]

for i in range(1, n):
    L[i] = max(list[i], L[i-1]+list[i])
    result=max(result, L[i]) # 1개도 삭제하지 않았을 때 최댓값
# print(L)


# 오른쪽부터 최대 연속합
R=[0]*n
R[n-1]=list[n-1]

for i in range(n-2, -1, -1):
    R[i] = max(list[i], R[i+1]+list[i])
# print(R)


# print(result)

# 수열에서 i삭제 시 최대 연속합
for i in range(1, n-1):
    tmp = L[i-1]+R[i+1]
    result=max(result, tmp)

print(result)
728x90
저작자표시
'Coding Test/DP' 카테고리의 다른 글
  • [1328번] 고층 빌딩 (빌딩 순서 구하기, 3차원 DP)
  • [1915번] 가장 큰 정사각형
  • [1912번] 연속합
  • [10844번] 쉬운 계단 수(2차원 DP)
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    그래프
    구간합
    백준
    최대공약수
    재귀
    다익스트라
    동적계획법
    스택
    조합
    트리
    알고리즘
    최소신장트리
    프로그래머스
    힙
    파이썬
    DP
    DFS
    덱
    LIS
    최단거리
    그리디
    자료구조
    Algorithm
    플로이드워셜
    월간코드챌린지
    정렬
    큐
    이분탐색
    구현
    BFS
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
[13398번] 연속합2 (한개 수 삭제)
상단으로

티스토리툴바