# 리스트
arr = [1, 2, 3]
arr.append(4)
arr.pop()
arr.insert(0, 0)
arr.remove(2)
arr.sort() / arr.sort(reverse=True)
sorted(arr)
# 2차원 리스트
matrix = [[0] * m for _ in range(n)] # ⭐
# 딕셔너리
dic = {}
dic['key'] = 'value'
dic.get('key', default_value)
if 'key' in dic:
pass
# 집합
s = set()
s.add(1)
s.remove(1)
s1 & s2 # 교집합
s1 | s2 # 합집합
s1 - s2 # 차집합
# 큐
from collections import deque
q = deque()
q.append(1)
q.popleft()
q.appendleft(0)
# 힙
import heapq
heap = []
heapq.heappush(heap, 3)
heapq.heappop(heap)
# 최대힙: -값으로 저장
# 기본
s = "hello"
s.upper() / s.lower()
s.split()
s.split(',')
''.join(['a', 'b', 'c'])
s.replace('old', 'new')
s.strip()
# 검사
s.isdigit()
s.isalpha()
s.isalnum()
# 슬라이싱
s[1:4]
s[::-1] # 역순
# 리스트 정렬
arr.sort()
sorted(arr)
# 커스텀 정렬
arr.sort(key=lambda x: x[0]) # 첫 번째 요소 기준
arr.sort(key=lambda x: (x[0], -x[1])) # 첫 번째 오름차순, 두 번째 내림차순
# 딕셔너리 정렬
sorted(dic.items(), key=lambda x: x[1])
# enumerate
for i, val in enumerate(arr):
print(i, val)
# zip
for a, b in zip(arr1, arr2):
print(a, b)
# range
for i in range(n):
pass
for i in range(start, end, step):
pass
# 리스트 컴프리헨션
result = [x*2 for x in arr if x > 0]
matrix = [[0]*m for _ in range(n)]
# 수학
abs(-5)
max(a, b, c)
min(a, b, c)
sum(arr)
pow(2, 3) or 2**3
import math
math.sqrt(16)
math.ceil(3.2)
math.floor(3.8)
math.gcd(12, 8)
# 비트 연산
a & b # AND
a | b # OR
a ^ b # XOR
~a # NOT
a << 1 # 왼쪽 시프트
a >> 1 # 오른쪽 시프트
## 증감 연산자: 파이썬에는 별도의 증감 연산자(++, --)가 없다.
##대신 사용하는 연산자: 변수에 값을 더하거나 빼는 연산은 복합 할당 연산자를 사용.
x += 1 # +=: 덧셈 할당 (예: x += 1은 x = x + 1과 같음)
x -= 1 # -=: 뺄셈 할당 (예: x -= 1은 x = x - 1과 같음)
# a=3 b=2
a // b # 몫 = 1
a / b # (float) = 1.5
a % b # 나머지 = 1
# any, all
any([True, False, False]) # True
all([True, True, False]) # False
# map, filter
list(map(int, input().split()))
list(filter(lambda x: x > 0, arr))
# Counter
from collections import Counter
counter = Counter([1, 1, 2, 3, 3, 3])
counter.most_common(2) # [(3, 3), (1, 2)]
# defaultdict
from collections import defaultdict
dic = defaultdict(int)
dic = defaultdict(list)
스택/큐
| 기능개발 ⭐ | 풀이 |
해시
정렬
구현
# 입력 받기 템플릿
# 프로그래머스
def solution(param1, param2):
answer = 0
return answer
# 백준
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
시간복잡도 기준
디버깅 팁
# 중간 결과 확인
print(f"idx={idx}, value={value}")
# 리스트 상태 확인
print(arr)
# 반복문 횟수 제한 (무한루프 방지)
MAX_ITER = 10000
for i in range(MAX_ITER):
if 종료조건:
break