2019.02.26) 백준 11053번 풀이 (PyPy3)
2019. 2. 26. 20:19ㆍ프로그래밍(주력)/백준 문제풀이
lis는 lcs보다 훨씬 쉬워서 놀랐다.
그리고 갱신한 부분 뒤를 신경을 안써도(?) 된다는게 좀 무책임 하다고 생각하지만 최적화가 잘 되서 신기했다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | c = int(input()) l = list(map(int, input().split(' '))) # lis 사용 lis = [0, l[0]] for i in range(1, c): # 만약 맨마지막 lis값보다 크면 마지막에 추가 if l[i] > lis[-1]: lis.append(l[i]) else: # 이전 lis를 탐색하며 사이값을 갱신 for j in range(len(lis) - 1, -1, -1): # 만약 탐색중인 것보다 작으면 패스 if l[i] < lis[j]: continue # 탐색중인 것보다 크면 그 다음걸 체인지 if l[i] > lis[j]: lis[j + 1] = l[i] break print(len(lis) - 1) | cs |
'프로그래밍(주력) > 백준 문제풀이' 카테고리의 다른 글
2019.02.28) 백준 큐 특집 - 2161, 1966, 2164(시간초과?) (PyPy3) (0) | 2019.02.28 |
---|---|
2019.02.27) 백준 스택 특집 - 10848, 9012, 10799 (PyPy3) (0) | 2019.02.27 |
2019.02.25) 백준 11057번, 2193번 풀이 (PyPy3) (0) | 2019.02.25 |
2019.02.24) 백준 10844번 풀이 (PyPy3) (0) | 2019.02.24 |
2019.02.23) 백준 11052번 풀이 (PyPy3) (0) | 2019.02.23 |