문제
알고리즘
- 반복문을 통해 모든 상자의 크기를 확인한다.
- 다음 상자의 크기와 그전에 있는 모든 상자의 크기를 비교한다.
- 마지막 상자의 크기가 다음 크기에 다음 상자의 크기보다 크다면 상자의 계수를 카운트한다.
코드
import sys
n = int(sys.stdin.readline())
box = list(map(int, sys.stdin.readline().split()))
# 상자안에 넣어진 상자의 계수
result = [1] * n
for i in range(1, n):
# 상자의 계수를 비교할 변수 초기화
result_max = 0
for j in range(i):
# 다음 상자의 크기와 그전에 있는 모든 상자의 크기 비교
if box[i] > box[j]:
# 상자의 계수 비교
if result_max < result[j]:
result_max = result[j]
# 상자의 계수 카운트
result[i] = result_max + 1
# 리스트에서 제일 큰 수를 출력
print(max(result))
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 2304번(파이썬): 창고 다각형 (0) | 2022.02.12 |
---|---|
[baekjoon] 백준 2304번(파이썬): 창고 다각형 (0) | 2022.02.10 |
[baekjoon] 백준 1024번(파이썬): 수열의 합 (0) | 2022.02.08 |
[baekjoon] 백준 1660번(파이썬): 캡틴 이다솜 (0) | 2022.02.07 |
[baekjoon] 백준 2502번(파이썬): 떡 먹는 호랑이 (0) | 2022.02.06 |