Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 리액티브 프로그래밍
- 스프링 웹플럭스
- 스프링 배치 공식문서
- 스프링 배치 메타 테이블
- 날짜형을 문자형으로
- spring webflux
- JSON 분리
- JobExecutionAlreadyRunningException
- git stage
- 무시하기
- spring reactive programming
- 마이바티스 트랜잭션
- org.json
- batchInsert
- JSONObject 분할
- Meta Table
- 문자형을 날짜형으로
- 폐기하기
- JSON 분해
- nonblocking
- multi update
- str_to_date
- jar 소스보기
- date_format
- JSON 분할
- JSONArray 분할
- 성능개선
- 스테이지에 올리기
- 마리아디비
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
Archives
- Today
- Total
ebson
boj.kr/12015 가장 긴 증가하는 부분 수열 2 (gold2) 파이썬 풀이 본문
ALGORITHM STUDY WITH PYTHON/Binary Search
boj.kr/12015 가장 긴 증가하는 부분 수열 2 (gold2) 파이썬 풀이
ebson 2023. 5. 27. 15:491. LIS(Longest Increasing Subsequence) 배열에 원본 수 배열 A의 첫번째 요소를 추가한다.
2. 원본 수 배열 A를 마지막 요소까지 순회하면서 아래 3-4를 반복한다.
3. LIS의 마지막으로 추가된 요소보다 원본 수 배열 A의 요소 a가 더 크면 LIS에 추가한다.
4. LIS의 마지막으로 추가된 요소보다 원본 수 배열 A의 요소 a가 더 작거나 같으면 LIS에서 왼쪽부터 순회하면서 a와 같거나 더 큰 숫자가 있는 첫번째 index에 a를 저장한다
5. LIS의 길이를 출력한다
N = int(input())
A = list(map(int, input().split()))
LIS = []
LIS.append(A[0])
from bisect import bisect_left
for a in A:
if a > LIS[-1]:
LIS.append(a)
else:
LIS[bisect_left(LIS, a)] = a
print(len(LIS))
bisect_left를 사용함으로써 LIS 배열의 마지막 요소가 a보다 컸던 경우에 a가 LIS의 마지막-1번 요소보다 큰 것을 보장하면서 이후 요소들에 대해 a보다 더 큰 요소를 추가해야 한다. 왜냐하면 그렇게 함으로써 LIS 배열의 각 요소들은 가장 긴 증가하는 부분수열과 다를 수 있지만, 길이는 동일한 것이 보장되기 때문이다.
참고출처
"[백준 12015 파이썬] 가장 긴 증가하는 부분 수열 2 (골드2, 이분 탐색)", velog.io/@ledcost, 2022년 1월 5일 수정, 2023년 5월 27일 접속, https://velog.io/@ledcost/백준-12015-파이썬-가장-긴-증가하는-부분-수열-2-골드2-이분-탐색.
'ALGORITHM STUDY WITH PYTHON > Binary Search' 카테고리의 다른 글
boj.kr/1939 중량제한 (gold3) 파이썬 풀이 (0) | 2023.05.29 |
---|---|
boj.kr/2343 기타 레슨 (silver1) 파이썬 풀이 (0) | 2023.05.28 |
boj.kr/1300 K번째 수 (gold2) 파이썬 풀이 (1) | 2023.05.28 |
boj.kr/2470 두 용액 (gold5) 파이썬 풀이 (1) | 2023.05.27 |
boj.kr/2110 공유기 설치 (gold4) 파이썬 풀이 (0) | 2023.05.23 |
Comments