s1 1697 bfs q 사용해서 방문하고 q에 넣기
배열에서 앞에 숫자 더이상 안보고 그 다음부터 볼 때는 Queue사용하는게 시간상 유리할 때도 있다
deque.extend(arr) //오른쪽으로 확장됨
deque.extendleft(arr) //왼쪽
deque.rotate(-1) 음수이면 왼쪽으로 회전
deque.reverse() //반전
insert, remove 사용 가능
오른쪽 끝에서 넣고 뺀다
from collections import deque
stk = deque()
# 삽입
stk.append(1)
# 빼기
stk.pop()
왼쪽에서 넣고 오른쪽 끝에서 뺀다
from collections import deque
q = deque()
# 삽입
q.appendleft(1)
# 빼기
q.pop()
arr = [3, 12, 29, 38, 40, 57, 61, 74, 85]
arr.sort()
print(bisect(arr,k))
k가 arr안에 있으면 그 자리의 오른쪽 index를 반환한다
그래서 k가 있는 index의 반환을 원한다면 -1를 해줘야 한다
from collections import Counter
Counter(arr) 값, 빈도 딕셔너리
Counter('hello world').most_common() # [('l', 3), ('o', 2) ](값,빈도) 튜플 내림차순
Counter(arr).most_common(2) 가장 숫자가 많은 2개의 값들
list.count(1)
a=ord(A) # 문자 -> 아스킷
chr(a) # 아스킷 -> 문자
#given
arr = [1,2,3,4]
#when
print(*arr)
#then
1 2 3 4
#given
arr = "ABCD"
#when
1. arr.reverse()
2. inverse = arr[::-1]
#then
"DBCA"
#given
1 2 3 4 5 6 이 들어올때
#when
N, *arr = map(int, input().split())
#then
N == 1
arr == [2,3,4,5,6]
new.sort(key=lambda x: len(x))
이렇게 하면 new가 직접 바뀜
내림차순 하고 싶으면 -len(x) 하면 됨
strip("}")하면 2개 지워진다
set(a) == set(b)
a | b
a & b
a - b
from itertools import combinations_with_replacement
import heapq
arr=[]
heapq.heappush(arr, item) : item을 heap에 추가
heapq.heappop(arr) : 가장 작은 원소 pop 비어 있는 경우 IndexError가 호출됨.
arr=[1,3,6,4]
heapq.heapify(arr)
heapq.heappush(arr, item)
내림차순은 -item을 넣는다
reversed(list)