연결리스트 (4) 썸네일형 리스트형 [자료구조/알고리즘] 연결 리스트(Linked List), 더블 연결 리스트(Double Linked List), 트라이 구조(Trie) 리스트란? 데이터를 인덱스 값에 따라 저장 대량의 데이터에서 추가와 삭제 시 성능이 저하된다. 연결 리스트란? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 데이터를 저장하는 자료 구조 [링크드 리스트 (Linked List) 구조] * 연결 리스트라고도 함 * 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 * 링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 본래 C언어에서는 주요한 데이터 구조이지만, 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원' [링크드 리스트 기본 구조와 용어] - 노드(Node): 데이터 저장 단위 (데이터값, 포인터) 로 구성 - 포인터(pointer): 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보.. [연결리스트/트리구조] 프로그래머스 L2 '더 맵게' (Python) https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 계산해야 할 값의 최솟값의 개수가 최대 1,000,000개 이므로 heapq 사용 주어진 문제대로 알고리즘 구성함 import heapq def solution(scoville, K): answer = 0 mix = 0 heapq.heapify(scoville) while True: if len(scoville)= K: break else: retu.. [연결리스트/트리구조] 프로그래머스 L3 '이중우선순위' (Python) https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 최대 1,000,000개의 최솟값, 최댓값을 넣고 빼야 하므로 heapq 사용 문제에서 주어진 조건대로 알고리즘 구성 import heapq def solution(operations): answer = [] for i in operations: if i[0]=="I": heapq.heappush(answer,int(i[2:])) else: if answer!=[]: if i[2:]=="-1": heapq.heappop(answer) else: answer.pop() if answer==[]: return [0,0] else: return.. [큐] 프로그래머스 L2 '프린터' (Python) https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr priorities값과 해당 값의 배열 위치를 q에 저장 문제에서 제시한 방법대로 알고리즘을 구현 #1차 시도. 2,5,18 실패. def solution(priorities, location): q = [] count = 0 for idx, i in enumerate(priorities): q.append((idx,i)) while q: tmp = q.pop(0).. 이전 1 다음