coding test/etc
[Python] heapq 라이브러리
파이썬에는 heapq 라는 라이브러리가 있다.import heapqheapq는 파이썬의 내장 모듈로, 힙(heap) 자료구조를 쉽게 사용할 수 있게 해준다.heapq 라이브러리 사용하면 우선순위 큐(priority queue)도 쉽게 구현할 수 있다. 힙(Heap)이란?힙(Heap)은 완전 이진 트리*의 형태로, 부모 노드가 자식 노드보다 작거나 같은 구조(최소 힙)이다. 따라서 루트 노드는 항상 최솟값이다.최소 힙을 사용하면 가장 작은 원소에 빠르게 접근할 수 있다.부모 노드가 자식 노드보다 크거나 같은 경우(최대 힙)도 있다.* 완전 이진 트리: 트리의 위부터 아래, 왼쪽부터 오른쪽의 순서로 빠짐없이 가득 차있는 이진 트리 heapq 주요 함수heappush(heap, x)힙에 원소 x를 추가hea..
coding test/etc
Python에서 input()과 sys.stdin.readline()의 차이
2025.04.23 - [coding test/백준] - [Python] 2667번 단지번호붙이기 [Python] 2667번 단지번호붙이기https://www.acmicpc.net/problem/26672667번 문제는 저번에도 풀어봤고 이번에 다시 복습해보았다. 확실히 한 번 풀었어서 그런지 빨리 풀렸다. import sysinput = sys.stdin.readline#bfsdy=[0,1,-1,0]dx=[-1,0,0,1]def bfs(y,x,rewish404.tistory.com해당 문제를 풀면서 input()과 sys.stdin.readline()의 차이로 에러가 발생했었다. 에러가 발생했던 코드:import sysinput = sys.stdin.readlinegraph.append(list(map..
coding test/etc
Shallow Copy Issue
백준 1260번 DFS와 BFS를 풀면서 입력을 받을 때 이상했던 점이 있었다.두 정점 사이의 간선을 입력받을 때, 해당 간선 정보가 전체 리스트에 중복되어 기록되었다. 아래는 내가 짰던 코드이다.n,m,v=map(int,input().split()) #n:정점수,m:간선수,v:시작정점matrix=[[0]*(n+1)]*(n+1)for _ in range(m): v1,v2=map(int,input().split()) matrix[v1][v2]=1 matrix[v2][v1]=1 '''#Input4 5 11 21 31 42 43 4#Output[[0, 1, 1, 1, 1], [0, 1, 1, 1, 1], [0, 1, 1, 1, 1], [0, 1, 1, 1, 1], [0, 1, 1, 1..