파이썬을 이용한 코딩테스트에서 유용한 팁
2차원 배열 선언
1
2
3
4
5
6
7
def double_array(M, N):
graph = [[0] * N for _ in range(M)]
return graph
visited= double_array(4,4)
visited[0][0]=1
print(visited)
출력
[[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
특정 값이 포함되지 않은 값만을 저장
1
2
3
4
5
6
def remove_value(a, remove_set):
result = [i for i in a if i not in remove_set]
return result
result = remove_value([1, 2, 3, 4, 5, 5], {3, 5})
print(result)
출력
[1, 2, 4]
문자열을 수식으로
1
print(eval("(3 + 6) * 6"))
출력
54
정렬된 배열에서 특정한 원소 값을 넣을 인덱스 찾기
1
2
3
4
from bisect import bisect_left, bisect_right
print(bisect_left([10, 20, 30, 40, 80], 25)) # 2
print(bisect_right([10, 20, 30, 40, 80], 40)) # 4
배열은 정렬이 되있어야한다
left, right는 특정한 원소값을 추가할때 비교원자의 왼쪽에 넣을지, 오른쪽에 넣을지를 정합니다
1
2
print(bisect_left([1, 2, 3, 3, 5], 3)) # 2
print(bisect_right([1, 2, 3, 3, 5], 3)) # 4
bisect응용: 정렬된 배열에서 값이 특정 범위에 속하는 원소의 개수
1
2
3
4
5
6
7
8
9
def count_by_range(a, left_value, right_value):
right_index = bisect_right(a, right_value)
left_index = bisect_left(a, left_value)
return right_index - left_index
# 값이 4인 데이터 개수 출력
print(count_by_range([1, 2, 3, 3, 3, 3, 4, 4, 8, 9], 4, 4)) # 2
# 값이 [-1, 3] 범위에 있는 데이터 개수 출력
print(count_by_range([1, 2, 3, 3, 3, 3, 4, 4, 8, 9], -1, 3)) # 6
구간 합 계산
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def sum_index(n, data):
# 접두사 합(Prefix Sum) 배열 계산
sum_value = 0
prefix_sum = [0]
for i in data:
sum_value += i
prefix_sum.append(sum_value)
# 구간 합 계산(세 번째부터 네 번째 수까지)
left = 3
right = 4
return prefix_sum[right] - prefix_sum[left - 1]
print(sum_index(5, [10, 20, 30, 40, 50]))
출력
70
python심화
👉 파이썬에서 OR과 AND
2021.11.01
👉 N진법 변환
2021.07.01
👉 CodingInterview에서의 Python
2021.06.21
👉 Python에서의 불변객체와 가변객체
2021.06.10
👉 Python에서 N차원 배열을 1차원 배열로 만들기
2021.06.10
👉 코딩테스트 파이썬 Tip
2021.04.20
Advanced
👉 파이썬에서 OR과 AND
2021.11.01
👉 zip과 행렬의 덧셈
2021.07.11
👉 N진법 변환
2021.07.01
👉 CodingInterview에서의 Python
2021.06.21
👉 IntelliJ에서 파이썬 연결리스트 사용하기
2021.06.11
👉 Python에서의 불변객체와 가변객체
2021.06.10
👉 Python에서 N차원 배열을 1차원 배열로 만들기
2021.06.10
👉 코딩테스트 파이썬 Tip
2021.04.20
Tip
👉 파이썬에서 OR과 AND
2021.11.01
👉 N진법 변환
2021.07.01
👉 CodingInterview에서의 Python
2021.06.21
👉 Python에서의 불변객체와 가변객체
2021.06.10
👉 Python에서 N차원 배열을 1차원 배열로 만들기
2021.06.10
👉 코딩테스트 파이썬 Tip
2021.04.20
댓글 쓰기