Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 포스코 아카데미
- 직원 이직률
- 캐글
- 혼공학습단
- 영상제작기
- 팀 분석
- 브라이틱스
- 포스코 청년
- 노코드AI
- 데이터분석
- Brightics
- 개인 의료비 예측
- 추천시스템
- 모델링
- Brightics Studio
- 삼성SDS
- Brightics를 이용한 분석
- 데이터 분석
- 삼성SDS Brigthics
- 삼성 SDS
- 브라이틱스 서포터즈
- 삼성 SDS Brigthics
- 삼성SDS Brightics
- 혼공머신
- 혼공
- 직원 이직여부
- Brigthics Studio
- Brigthics
- Brigthics를 이용한 분석
- 혼공머신러닝딥러닝
Archives
- Today
- Total
데이터사이언스 기록기📚
[백준/Python] 13975번(그리디, 우선순위 큐)_ 파일 합치기3 본문
📌문제 유형
그리디, 우선순위 큐 (골드 Lv.4)
📌문제
📌나의 문제풀이
- 우선순위 큐 적용한 것(정답)
import heapq
t = int(input())
for _ in range(t):
ans = 0
k = int(input())
chap_nums = list(map(int,input().split()))
heapq.heapify(chap_nums)
while True:
num1 = heapq.heappop(chap_nums)
num2 = heapq.heappop(chap_nums)
ans += (num1 + num2)
heapq.heappush(chap_nums, num1 + num2)
if len(chap_nums) == 1:
break
print(ans)
- 우선순위 큐 적용X (오답)
t = int(input())
for _ in range(t):
ans = 0
k = int(input())
chap_nums = list(map(int,input().split()))
while True:
chap_nums.sort()
num1 = chap_nums.pop(0)
num2 = chap_nums.pop(0)
ans += (num1 + num2)
chap_nums.append(num1 + num2)
if len(chap_nums) == 1:
break
print(ans)
📌 다른사람의 문제풀이
- 동일import sys
import heapq
for _ in range(int(sys.stdin.readline())):
k = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
heapq.heapify(arr) # 최소힙
result = 0
# 가장 작은 2개의 파일 크기를 꺼내서 합친값을 다시 우선순위 큐에 넣기
while len(arr) >= 2:
f = heapq.heappop(arr)
s = heapq.heappop(arr)
result += (f + s)
heapq.heappush(arr, (f + s))
print(result)
📌 리뷰
-입력 개수 꼭 확인하기! (장의 수 k가 1,000,000까지여서 시간 많이 소요되는걸 파악할 수 있음)
- 매번 정렬 + 작은 숫자가 나와야함 + 입력개수 큼 -> 우선순위 큐 적용하기
- 우선순위 큐 정리 내용
728x90
'Coding Test > 백준(Python)' 카테고리의 다른 글
[백준/Python] 3584번(DFS, 그래프 이론)_가장 가까운 공통 조상 (0) | 2023.08.17 |
---|---|
[백준/Python] 14502번(완탐, DFS)_연구소 (0) | 2023.08.15 |
[백준/Python] 1339번(그리디)_단어 수학 (0) | 2023.08.08 |
[백준/Python] 2573번(DFS,BFS)_빙산 (0) | 2023.08.07 |
[백준/Python] 1744번(그리디, 정렬)_수 묶기 (0) | 2023.06.09 |
Comments