- 이분 탐색
문제 1 2 3
- 그리디
문제 5 6 8 9 10
- 튜플 형태로 append & 람다 함수를 이용한 정렬(튜플의 두번째 값을 기준으로)
5
13 14
7 8
9 10
5 6
11 12
입력이 이런식으로 5줄(n)로 되어있다.
import sys
sys.stdin = open("input.txt", "rt")
n = int(input())
a = []
for _ in range(n):
s, e = map(int, input().split())
#튜플 형태로 append
a.append((s, e))
#람다 함수를 이용한 정렬 하기
a.sort(key = lambda x: (x[1], x[0]))
for x in a:
print(x)
문제 8
- deque 활용
deque(덱) 은 앞 뒤로 요소를 추가하고 삭제할 수 있는 자료구조이다.
colleciont는 python의 표준 라이브러리이다.
from collections import deque
p = list(map(int, input().split()))
p= deque(p)
- p.popleft
p.pop(0) 과 같은 기능을 한다. O(1)
p.pop(0) 가장 앞단에 값을 꺼낸다. list크기에 따라 읽어오는 시간이 달라진다. O(n)
p.pop() 가장 뒤에 있는 값을 꺼낸다.
- while p :
-> 리스트 p가 비게 되면 False를 반환하게 되어 while 문 종료하게 된다.
'알고리즘? > 이분탐색(결정알고리즘)&그리디 알고리즘' 카테고리의 다른 글
9. 증가 수열 만들기(그리디) (0) | 2023.07.19 |
---|---|
8. 침몰하는 타이타닉(그리디) (0) | 2023.07.19 |
7. 창고정리 (그리디) (0) | 2023.07.18 |
6. 씨름선수 (그리디) (0) | 2023.07.18 |
5. 회의실 배정(그리디) (0) | 2023.07.17 |