1965. 상자 넣기
1965번: 상자넣기
정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가
www.acmicpc.net
- 내 풀이
- 이진탐색 bisect
- 뒤에 더 작은 값이 나오면 그 값이 들어갈 수 있는 위치 찾기
- 더 작은 값으로 바꿔줘야 뒤에 더 많은 숫자들이 들어올 수 있음
#1965
from bisect import bisect_left
n=int(input())
lst=list(map(int,input().split()))
result=[0]
answer=0
for ls in lst:
if result[-1]<ls:
result.append(ls)
else:
x=bisect_left(result,ls)
result[x]=ls
print(len(result)-1)'코딩테스트 > BOJ' 카테고리의 다른 글
| [그리디] 2141. 우체국 (0) | 2023.06.28 |
|---|---|
| [BFS] 2636. 치즈 (0) | 2023.06.28 |
| [백준] [최단경로] [다익스트라] [플로이드워셜] 11265. 끝나지 않는 파티 (0) | 2023.05.13 |
| [백준] [다익스트라] [heap] 10282. 해킹 (0) | 2023.05.11 |
| [백준] [DP] 17212. 달나라 토끼를 위한 구매대금 지불 도우미 (0) | 2023.05.10 |