본문 바로가기
SMALL

분류 전체보기105

[백준/1927/파이썬(Python3)] 최소힙 문제 출처 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 코드 import heapq import sys N = int(input()) heap=[] for i in range(N): x = int(sys.stdin.readline()) if x!=0: heapq.heappush(heap, x) else: if not heap: print(0) else: print(heapq.heappop(heap)) for문에서 입력값을 받을 때 x=int(input()) 을 썼더니 시간초과가 났.. 2021. 7. 8.
[프로그래머스/2단계/파이썬(Python3)] 더 맵게 문제 출처 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 풀이 코드 import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while len(scoville)>=2: min1 = heapq.heappop(scoville) if min1 < K: min2 = heapq.heappop(scoville) heapq.heappush(scoville, min1+(min2*2)) answer +=1 else: return ans.. 2021. 7. 8.
[자료구조/파이썬(Python3)] 힙 (Heap) 힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(Complete binary tree)를 기본으로 한 자료구조(tree-based structure)로서 다음과 같은 힙 속성을 만족합니다. - A가 B의 부모노드이면, A의 key 값과 B의 key 값 사이에는 대소관계가 성립한다. 그래서 대소관계에 따라 힙에는 두 가지 종류가 있습니다. - 최소 힙(min heap) : 부모노드의 키 값이 자식노드의 키값보다 항상 작은 힙 - 최대 힙(max heap) : 부모노드의 키 값이 자식노드의 키값보다 항상 큰 힙 코딩테스트에서 최솟값이나 최댓값을 반복해서 호출해야하는 경우, heap을 사용해서 효율성을 증가시킬 수 있습니다. 파이썬에는 heapq 모듈로 힙 알고리즘을 .. 2021. 7. 8.
[SAS OnDemand for Academic] 클라우드 기반 SAS 체험하기 SAS는 공공기관과 교육기관에서 많이 사용하는 데이터분석 플랫폼입니다. 다만 유료인데다 가격이 좀 비싸기 때문에 혼자 공부하는 분들이나 학생들이 쉽게 사용할 수 없기도 합니다. 예전부터 SAS에서는 SAS University Edition을 제공해서 무료로 SAS를 체험할 수 있도록 해주었는데요, 가상머신에 SAS University Edition을 설치해서 사용하는 방식이었습니다. 저도 예전에 이 방식을 썼다가 가상머신이 용량을 꽤 차지해서 지웠어요. 최근에 SAS를 써야하는 일이 생겨서 찾아보던 중에 SAS University Edition은 2021년 4월 30일에 서비스를 종료다는 걸 알게 되었습니다. 다행히도 SAS OnDemand for Academics라는 서비스로 SAS를 무료로 체험할 수.. 2021. 7. 7.
LIST