heap 2

C | 변수의 할당 위치 (동적할당)

C언어 거의 하지도 않는데 조교 업무 때문에 C언어를 계속 보고 검색하다 보니까 확실히 파이썬과는 다른 재미가 있는 것 같다ㅎㅎ 새내기 때 지금 교수님 같은 분한테 수업을 들었다면 C언어를 지금보다 조금 더 잘하지 않을까 싶은 생각이 들 정도로 교수님도 열정적이시고 그 만큼 학생분들의 질문도 어렵다......ㅎㅎ char *getPI(void){ char PI[20]; strcpy(PI, "3.141592653589"); return PI; } int main(void){ char *pistr; pistr = getPI(); printf("%s\n", pistr); return 0; } 짠! 위의 코드에서는 어떤 문제가 있을까? 위의 코드르 실행해보면 쓰레기값이 출력될 것이다. 왜 그럴까? 바로 [cod..

Python3 | 파이썬에서 우선순위큐(heap)를 사용하자 (heapq 사용법)

우선순위큐, 흔히 힙이라고 하는 자료구조도 코딩테스트에서 나름 자주 등장하는 아이들이다. 직접 힙을 만들어서 사용할 수도 있지만 더 많은 시간이 소요되니 파이썬에서 제공해주는 패키지를 활용하자. 파이썬에서 우선순위큐를 이용하기 위해서는 PriorityQueue와 heapq를 사용할 수 있는데 이 포스팅에서는 heapq의 간단한 문법만 기록할 것이다. import heapq q = [] heapq.heappush(q, 1) heapq.heappush(q, 3) heapq.heappush(q, 2) heapq.heappop(q) heapq.heappop(q) heapq.heappop(q) 사용법은 아주 간단하다. 일단 heapq를 import해주고, 리스트를 하나 선언해준다. 그리고 [code]heapq.h..