문제 포인트 최소힙을 사용하여 최대힙으로 구현해보자 heapq 자료구조는 무조건 최솟값만을 위한 자료구조이기 때문에 이 자료구조를 사용하여 최솟값을 판별하기 위해서는 약간의 트릭이 필요하다. 바로 -로 push하는 것. 3,4 있으면 3이 더 작은 숫자지만 -3, -4가 있으면 -4가 더 작은 숫자가 된다. 이렇게 push하고 마지막에 pop()하는 단계에서 - 붙여서 pop()하주면 그게 가장 큰 값이다. solution """ 힙큐 자료구조는 무조건 최소힙을 만들어내기 때문에 최대힙을 사용하기 위해서는 - 값으로 push하여 - 값을 붙인 상태로 출력하면 최댓값 출력 가능. """ tmp = [] while True: num = int(input()) if num == -1: sys.exit() el..
문제 포인트 하나의 자연수 N이 주어졌을 때, 1~N까지의 원소를 갖는 부분집합을 모두 출력해야한다. 이때 공집합의 출력은 제외한다. 입력 예제 3 출력 예제 1 2 3 1 2 1 3 1 2 3 2 3 생각 재귀 함수를 사용하여 이 문제를 풀기 위해서는 상태 트리를 먼저 직접 그려보는 것이 좋다. 입력 예제가 3이므로 3을 예로 상태트리를 그려보면 다음과 같이 그려질 것이다. 1의 경우: 1을 원소로 사용한다, 사용하지 않는다의 두가지 갈래로 나뉜다. 각 갈래에서 원소에 1을 더한 상태에서 같은 방법으로 각각 두가지 갈래를 나눠 사용하는 경우와 사용하지 않는 경우를 판별한다. n + 1의 경우까지 이 과정을 반복한다. 위의 상태 트리를 코드로 구현하면 다음과 같다. def recursive(value):..
- Total
- Today
- Yesterday
- kubernetes
- 파이썬
- Python
- DFS
- 프로그래머스
- HDFS
- GROK
- Hadoop
- CS
- Flutter
- 백준
- DP
- Elasticsearch
- Algorithm
- CSAPP
- logstash
- elasticsaerch
- heapq
- BOJ
- kafka
- 빅데이터를지탱하는기술
- 이코테
- 빅데이터
- mahout
- 네트워크
- cka
- oozie
- OS
- Espher
- sqoop
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |