알고리즘 스터디(Python반) 8기 1주차

sen·2022년 3월 2일
0

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

Week1: Queue & Heap


basic

  • heap 은 최소/최댓값을 구할 때 사용한다.

checklist

  • list를 이용해야 할 때는 왠만하면 양방향으로 사용 가능한 deque from collections import deque 를 사용하자

  • heap은 import heapq 로 (이것보다는 from heapq import heapify, heappop, heappush 를) 사용한다. 이 때 이진 트리 구조이므로 맨 앞 원소만 최솟값이 보장되기 때문에 n번째로 작은 값을 구하고 싶다면 heappop 을 n번 사용하자

  • heapq에서 최댓값을 구하고 싶으면 원소에 (-)를 붙여 최대 힙으로 만든다.

  • 런타임 에러가 발생할 수 있는 예외 처리는 if else 문 보다는 try except 문을 사용한다.

  • 마지막에서 if else 문으로 마무리 할 때 아래처럼 inline if 를 사용할 수 있다.
    return answer if scoville[0] >= K else -1

  • list comprehension 으로 반복문의 list 연산을 한 줄로 나타낼 수 있다.
    return sum([w[1] ** 2 for w in m_works])

  • 필요 없는 변수를 선언해야 할 때는 _ 으로 해준다.


comment

  • heapq 를 이번에 알았다.. ^^ 더 열심히 스터디에 참여해야겠다.
  • list comprehension 처럼 한 줄로 표현하는 것에 익숙해져야겠다. 아직 C언어의 물이 덜 빠져서 코드가 쓸데없이 김
profile
𝙝𝙞 𝙩𝙝𝙚𝙧𝙚 😎

0개의 댓글