TIL 22-11-14 알고리즘 문제를 푸는중 파이썬 라이브러리 heapq 에 대한 잘못된 이해로 인해 문제 풀이에 많은 시간을 지체했다. 이에 heap 에 대한 정리를 한번 하려고 한다. 힙이란? 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리입니다. 최댓값이 맨 위인 힙을 Max힙, 최솟값이 맨 위인 힙을 Min힙이라고 합니다. 최솟값을 저장하고 싶다면 원본 그대로, 최댓값을 저장하고 싶다면 -1을 곱해서 음수로 저장, -1을 곱해서 양수로 출력하면 된다. heapq.heappush(heap,item) = item 값을 heap으로 푸시합니다. heapq.heappop(heap) = heap에서 가장 작은 항목을 뽑아내고 출력합니다. heapq.heappushpop (heap,i..

스파르타 코딩클럽 2주차 WIL(Weekly I Learned) 이번주 부터 파이썬 알고리즘 수업을 들어갔다. 독학으로 파이썬을 공부했었고 문제를 푼 경험이 있어서 이해하는데 어려움은 없었다. 이번주 동안 array, linked list, stack, Que, hash 에 대해서 배웠고 문제를 풀어보았다. 현재 내가 해야하는 과제는 linked list 를 직접 구현해 보는것이다. 나는 백엔드 개발자로써 알고리즘을 이해하고 구현하는게 가장 중요하다고 생각한다. 지금은 파이썬으로 문제를 풀어보고 있지만, 이 후에는 JAVA, C++ 언어를 공부하여 알고리즘 문제를 풀어볼 예정이다. 현재 부트캠프가 JAVA Spring 커리큘럼 이기 때문에 JAVA 언어를 더욱 공부하기 위해 JAVA의 정석을 구매하였고,..
#객체란? 말 그대로 대상을 나타내는 단어입니다. 사람 한명 한명이 객체라 할 수 있고, 책 한권을 객체라 할 수 있습니다. 사람은 생김새와 성격이 똑같을 수는 없기 때문에 개개인을 객체라 할 수 있으며, 책도 내용과 흔적이 모두 다르기 때문에 서로 다른 객체라 할 수 있습니다. #클래스 사람들은 일반적으로 같은 속성들을 갖고 있습니다. 여기서 속성이란 눈,코,입,손,발 등의 신체들을 의미합니다. 책도 책 이름, 작가, 출판사, 출판일 등 같은 속성을 갖고 있다고 할 수 있습니다. (ex) 클레스 - 붕어빵 기계 객체 - 붕어빵 #메서드란? 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것 -함수와 유사 내부적인 내용을 몰라도 입력값과 출력값만 이해해도 된다. ex) println(), random(..
__init__ = initialize 를 표현한 구문이다. ititialize의 의미는 기본값 설정하기 라는 뜻에 가깝다. class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self, value): self.head = Node(value) def append(self, value): cur = self.head while cur.next is not None: cur = cur.next cur.next = Node(value) def print_all(self): cur = self.head while cur is not None: print(cur.data) cur ..