@Eeap
velog
@Eeap
전체 방문자
오늘
어제
  • 전체 (168)
    • osam (1)
    • Cloud (21)
      • Docker (2)
      • AWS (13)
    • AI & Data (7)
    • Algorithm (76)
      • Baekjoon (75)
      • Codeforces (1)
    • Language (18)
      • Java (18)
    • Back-end (17)
      • Spring (3)
      • JSP & Servlet (12)
      • Go (2)
    • 일상 (4)
    • 기타 (8)
    • git (1)
    • Infra (9)
      • Apache Kafka (5)
      • Kubernetes (4)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 인터페이스
  • knowledge bases
  • bedrock
  • SageMaker
  • 심폴릭링크
  • sagemaker unified studio
  • AWS CodeStar
  • AWS CodeArtifact
  • flink
  • bedrock api
  • java
  • converse api
  • 오블완
  • CLASS
  • Python
  • 티스토리챌린지
  • AWS CodeCatalyst
  • bedrock agent
  • invokemodel api
  • Agent

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
@Eeap

velog

Algorithm/Baekjoon

1965번 파이썬

2022. 4. 13. 16:57
반응형

처음에 p리스트를 1로 초기화한 이유는 본인의 상자만 포함할 경우 한개이기 때문이다.

그 다음 1부터 n까지 반복문을 돌려서 i번째 전까지 상자 중 최대가 되는 것을 찾기 위해서 다시 한번 반복문을 1부터 i-1까지 돌린다. 이때 p[i]번째가 max(p[i],p[k]+1)인 이유는 p[i]에는 계속 새로운 값이 저장되고 그 값이 최대인 경우를 가리기 위해서이다.

예를 들어 1,3,1,5가 있을때 i가 5일 경우 k가 3의 인덱스일때 p[i]에는 최댓값 3이 저장되고 이후 1이의 인덱스에 올때 이미 최댓값 3이 저장되어 있다.

import sys
input = sys.stdin.readline
n=int(input())
ary = list(map(int,input().split()))
p = [1 for _ in range(n+1)]

for i in range(1,n+1):
  for k in range(1,i):
    if ary[k-1] < ary[i-1]:
      p[i]=max(p[i],p[k]+1)
print(max(p))
반응형
저작자표시 (새창열림)

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

2096번 파이썬  (0) 2022.05.04
1309번 파이썬  (0) 2022.04.13
1520번 파이썬  (0) 2022.04.12
1890번 파이썬  (0) 2022.04.11
2225번 파이썬  (0) 2022.04.10
    'Algorithm/Baekjoon' 카테고리의 다른 글
    • 2096번 파이썬
    • 1309번 파이썬
    • 1520번 파이썬
    • 1890번 파이썬
    @Eeap
    @Eeap

    티스토리툴바