본문 바로가기

프로그래밍/Python

[ 코테python반 스터디 ] 1주차 후기

[스터디/10기] 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Python반) 학습중!

https://school.programmers.co.kr/app/courses/14135/dashboard

 

1주차 강의는 Queue & Heap으로 자료구조 자체를 잘 모르는 나로써는 개념을 이해하는데에도 시간을 써야해서 공부 시간이 더 소요된거 같다.

다행히 유튜브에 큐와 힙에 관한 강의가 있어 그걸 들으니 많은 도움이 되었다.

https://www.youtube.com/watch?v=nqCNk_DmPio 

 

1. Queue

Queue는 FIFO이다. 먼저 들어온 애가 먼저 나가는 자료구조란 뜻이다. 

배우면서도 이게 어디 쓰이지 하는 의문이 들었는데, 예제들을 직접 풀려고 하다보니 실제로 사용이 되는 구조임을 확실히 이해할 수 있었다.

 

2. Heap

Heap은 컴공이 아닌 입장에서 도무지 머리에 안들어오는 녀석이었다. 사실 지금도 명확하게 이해하진 못한거 같다. 

입력 순서와 관계없이 우선순위가 높은 애가 먼저 나가는 자료구조이다. 파이썬에서 제공하는 heapq는 최소값이 우선순위가 높은 min heap으로 밖에 사용되지 않아 max heap으로 쓰고 싶으면 편법으로 값을 음수로 치환해서 쓸 수 있다.

 

3. 문제 풀이

문제는 대부분 Heap과 Queue를 잘 이용해서 풀 수 있다. Queue와 Heap에 반복 숙달로 익숙해지는 중이라고 생각한다. 

제일 잘 안외워지는 import문 복습하기

from collection import deque

from heapq import heapify, heappush, heappop

from queue import PriorityQueue

 

4. 모의고사

모의고사는 테스트 문제들과 비슷한 형식이었으나, 약간 비틀어 놓았는지 효율성 테스트에서 번번히 고배를 마셨다.  리더님 코드가 올라오면 참고해서 피드백을 해봐야겠다.