알고리즘

알고리즘 연습/프로그래머스

[Python - Lv.3] 이중우선순위큐

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조I 숫자 : 큐에 주어진 숫자 삽입D 1 : 큐에서 최댓값 삭제D -1 : 큐에서 최솟값 삭제연산 operations을 처리한 뒤 큐가 비어있으면 [0, 0], 비어있지 않으면 [최댓값, 최솟값] 반환빈 큐에 데이터를 삭제하라는 연산일 경우 해당 연산 무시풀이 (1)operations의 입력에 맞게 조건문을 작성하여 index, max, min, pop 메서드를 활용하여 해결시간 복잡도가 O(n)인 메소드들을 마구잡이로 섞어서 시간 초과가 나올 것이..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 5일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (5)

힙(Heap) 대표 문제 풀이 : 더 맵게 힙(Heap) 최대/최소 원소를 O(1) 시간으로 빠르게 찾을 수 있음 종류 : 최대 힙(max heap), 최소 힙(min heap) 연산 : 힙 구성(heapify, O(n log n)), 삽입(insert, O(log n)), 삭제(remove, O(log n)) 힙의 구현과 응용 최대 힙을 기준으로 root node에 최댓값이 위치 완전 이진트리로 구성돼 있으며, 배열을 이용해서 구현 가능 응용 : 정렬(Heapsort), 우선순위 큐 (priority queue) Python에서의 힙 적용 연산 : heapify(list), heappop(list), heappush(list, value) import heapq # 리스트 L로부터 min heap 구성..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 3일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (3)

큐(Queue) 자료를 보관할 수 있는 선형 구조 선입선출(FIFO) 구조로 enqueue 연산과 dequeue 연산 존재 size, isEmpty, enqueue는 스택의 메소드와 같고, dequeue와 peek만 다름 배열을 이용하여 구현 Python 리스트와 메서드 이용 class Queue: def __init__(self): self.data = [] # 큐의 원소의 수 def size(self): return len(self.data) # 큐가 비어 있는지 판단 def isEmpty(self): return self.size() == 0 # 데이터 원소 추가 def enqueue(self, item): self.data.append(item) # 가장 앞 데이터 원소 제거/반환 def dequ..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 2일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (2)

연결 리스트(Linked Lists) (1) 추상적 자료구조(Abstract Data Structures) 내부 구현은 숨겨져 있는 상태로 사용하는 자료구조 데이터 : 정수, 문자열, 레코드 등 연산 : 삽입, 삭제, 순회, 정렬, 탐색 등 기본적 연결리스트 앞에 있는 노드가 뒤에 있는 노드를 가리키도록 되어있는 자료구조 형태 노드 : Data(문자열, 레코드, 또 다른 연결 리스트 등), Link (next)가 담김 Head : 연결 리스트의 가장 앞의 노드를 가리키는 포인터 Tail : 연결 리스트의 가장 마지막 노드를 가리키는 포인터 자료구조 정의 노드 클래스 class Node: def __init__(self, item): self.data = item self.next = None 연결리스트 ..

기억에 남는 블로그 닉네임
'알고리즘' 태그의 글 목록 (2 Page)