//, / ,%
n / 5 = (실수 몫)
n // 5 = (정수 몫)
n % 5 = (정수 나머지)
range() → 일정 범위의 range 객체를 생성하는 매서드

map
# 입력: 2 3 4 5
# map(타입,[적용할 값])
x, y, z, k = map(int, input().split())
# 문자열을 Int 배열로 변환
# map(int, ...) -> 시퀀스의 각 요소에 함수를 수행
# map 객체는 list로 변환해줘야 함
arr = list(map(int, input().split()))
리스트 컴프리헨션
# 입력:
#2
#3
#4
#5
# [식 for 변수 in range]
arr = [int(input()) for _ in range(n)]
배열의 확장 및 부분 배열
# 입력: [1,2,3,4]
arr = arr.extend(arr[:2]) #[1,2,3,4,1,2]
# arr[start: end] start..<end까지의 인덱스 부분 배열
전역 변수
# 파이썬은 함수 내부에서 전역 변수를 수정할 때, 함수 내부에 위와 같이 선언해줘야한다.
global count
2차원 배열
arr = [list(map(int, input().split())) for _ in range(n)]
딕셔너리
dic = {} # 딕셔너리 선언
for (key, value) in dic.items() # key/value 선언
dic[key] # value
dic[key] = value
# value가 int인 경우, key가 없으면 0으로 초기 value를 설정하는 법
dic[key] = dic.get(key, 0) + 1
배열 한줄 출력
list = []
print(*list)
slice assignment
리스트의 특정 부분을 다른 리스트의 부분으로 한 번에 교체하는 기능
https://twpower.github.io/119-python-list-slicing-examples
nums1 = [10, 20, 30, 40, 50]
nums2 = [1, 2, 3, 4, 5]
p2 = 2
# nums1[:p2+1] 는 nums1[:3] 즉, [10, 20, 30]
# nums2[:p2+1] 는 nums2[:3] 즉, [1, 2, 3]
nums1[:p2 + 1] = nums2[:p2 + 1]
print(nums1) # 출력: [1, 2, 3, 40, 50]
# 오른쪽으로 k회 회전
nums[:] = nums[-k:] + nums[:-k]
# 왼쪽으로 k회 회전
nums[:] = nums[k:] + nums[:k]
삼항 연산자
# 기본 문법
result = value_if_true if condition else value_if_false
최대, 최소 변수 생성 시 초기 값
min_val = float('inf')
max_val = float('-inf')
카데인 알고리즘
https://velog.io/@changhee09/알고리즘-카데인-알고리즘
dp에 기반한 접근법이나, dp 배열을 만들지 않아 공간 복잡도를 최소화
역순 순회
for i in range(n, -1, -1):
n -> 시작점
-1 -> 종료점
-1 -> step
reversed()
reversed(arry)
# 배열 역순으로 뒤집어 준다.
strip()
# 문자열의 앞 뒤 공백을 제거
s = " Hello World! "
print(s.strip()) # "Hello World!"
split()
# 문자열을 구분자를 기준으로 리스트로 반환
s = "Hello World Python"
words = s.split() # 기본 구분자 (공백) 기준으로 분할
print(words) # ['Hello', 'World', 'Python']
s = "apple,banana,orange"
words = s.split(",") # 콤마를 기준으로 분할
print(words) # ['apple', 'banana', 'orange'
join()
# 리스트를 구분자를 기준으로 문자열로 반환
separator = " " # 구분자
words = ["Hello", "World", "Python"]
result = separator.join(words)
print(result) # "Hello World Python"
문자열 보간법
f"{ 변수 or 상수 }"