iterator
items = [1, 2, 3, 4, 5]
filtered = list(filter(lambda i: i%2 == 0, items))
arr = map(int, input().split())
비트 연산자
# add
mask = 0
mask = mask | 1 << item_idx
# check: node
mask & (1 << node)
# check all visit (cnt개 모두 방문했는지)
mask == (1 << cnt) - 1:
기타
# 문자열 포매팅
var = 345.6789
s1 = f'{variable}' # 345.6789
s2 = f'{variable:.2f}' # 345.68 # 주의! variable 콜론 뒤에 여백 반영되므로 꼭! 붙이기
# 숫자 문자열 리스트화
s = "101110"
arr = [int(char) for char in s] # [1, 0, 1, 1, 1, 0]
# zip, unzip
A = [1, 2, 3]
B = [4, 5, 6]
pairs = zip(A, B) # [[1,4], [2,5], [3,6]]
A, B = zip(*pairs) # unzip
# 2D 배열 초기화 조심
[[False]*N]*N # (X) 행마다 같은 참조값을 갖고 있어서 안됨
## 그 외 꿀팁
# for, if 한줄로
arr = [1, 2, 3, 4, 5]
짝수arr = [i for i in arr if i % 2 == 0]
# unpack str
S = '123'
print(*S) # 1 2 3
# 내장함수
arr = [True, True, False]
any(arr) # True
all(arr) # False
# 딕셔너리
dict = { a: 1, b: 2, c: 3 }
dict['d'] # 에러 발생
dict.get('d') # None 리턴하면서 에러 미발생
# 코테 풀다가 런타임 에러 (RecursionError) 만나면
sys.setrecursionlimit() # 확장해주기
# for-else, while-else
# 조건문에만 else 가 있는게 아님. 반복문이 break문이 아니라 모든 순회 후 끝났을 경우 else 처리
for ...
else ...
'2️⃣ 개발 지식 B+ > 코딩 테스트' 카테고리의 다른 글
[python] 코테 유형별 템플릿 모음 (0) | 2024.10.27 |
---|---|
🏃[백준/python] DP 유형 모음집 및 접근 컨셉 (0) | 2024.08.28 |
[백준/python] Greedy 유형 모음집 및 접근 컨셉 (0) | 2024.08.28 |
[백준/python] DP 유형 - 배낭(Knapsack) 문제 (0) | 2024.08.26 |
[백준/python] DP 유형 - LIS & LDS 그리고 LCS (0) | 2024.08.26 |