๐ฅ Silver2
https://www.acmicpc.net/problem/2075
โ 1์ฐจ ํ์ด
import sys
# maxHeap
# ์ค๋ง๋ค ๊ฐ์ฅ ํฐ ๊ฐ ๋น๊ตํ ๊ฐ์ฅ ํฐ ๊ฐ์ pop
input = sys.stdin.readline
n=int(input())
heap=[]
temp=[]
for _ in range(n):
temp.append(list(map(int,input().split())))
#์ธ๋ก์ค๋ก heap ์์ฑ
heap_list=[]
for i in range(n): #row
t=[]
for j in range(n): #col
t.append(temp[j][i])
heap_list.append(t)
print(heap_list)
# ๋ฆฌ์คํธ ์ํํ๋ฉด์ ๊ฐ์ฅ ํฐ ์ ๋ฝ๊ธฐ
for i in range(n):
num=heap_list[i][len(heap_list[i])-1]
if num==max()
์ฒ์์, ํ์ค๋ง๋ค maxHeap์ผ๋ก ๊ตฌํ๋์ด์๋ค๋ ์๊ฐ์ ํฌ๊ฒ ๋ณผ์๊ฐ์ ๋ชปํ๋ค....
๊ทธ๋ฐ๋ฐ ์ธ๋ก๋ก ์ฝ์ด์ผํ๊ธฐ ๋๋ฌธ์ ์ด์ค for๋ฌธ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ๋ฆฌ์คํธ๋ค์ maxHeap์ผ๋ก ๊ด๋ฆฌํด์ ๊ฐ์ฅ ํฐ ๊ฐ์ pop์ผ๋ก ๋นผ๋ด๋ฉด์ n๋ฒ์งธ ๊ฐ์ ๋ฆฌํดํ๋ฉด ๋์ง ์์๊น ์ด๋ฐ์๊ฐ์ ํ๋ค...
๊ทผ๋ฐ ์ด๊ฑธ ์ฝ๋๋ก ์ฎ๊ธฐ๋ฉด์ 2์ค for๋ฌธ๋ถํฐ ์ด๊ฒ ๋ง๋ ์ถ๊ธฐ๋ ํ๊ณ ,
๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ heap์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์ ๋ ฌ์ด ์ด๋ฃจ์ด์ง๋๋ฐ ๊ทธ๋ ๋ค๊ณ [12, 13, 21, 48, 52] ์ด ์ค์ reverseํด๋ฒ๋ฆฌ๋ฉด pop์ด ์๋ shift๊ฐ ๋๋ฉด ๋๋ฌด ๋นํจ์จ์ ์ด๋ค...
๊ทธ๋์ ์ด๋ฐฉ๋ฒ์ ๋์ด์์ ์๋๊ฒ ๋ค ์ถ์ด์ ์ ์๋ค ๐
โ 2์ฐจ ํ์ด
input = sys.stdin.readline
n=int(input())
heap=[]
num_list=[list(map(int,input().split())) for _ in range(n)]
print(num_list)
for num in num_list:
for n in num:
heapq.heappush(heap,(-n,n))
for i in range(n-1):
heapq.heappop(heap)
print(heap[0][1])
์ด ํฌ์คํ ์ ์ฐธ๊ณ ํด์, ๋ค์ ์์ฑํด๋ณด์๋ค.
๊ทธ๋ฅ ๋จ์ํ๊ฒ input์ผ๋ก ๋ค์ด์ค๋ ๋ชจ๋ ์๋ฅผ maxHeap์ ๋ด์ pop์ ํ๋ฉด์ ๊ฐ์ฅ ํฐ๊ฐ์ ๋ฝ์๋ด๋ ๋ฐฉ์์ด๋ค.
์ค๋ฒ2์ธ๋ฐ.. ์ญ์ ์ด๋ฐฉ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์๋ค.
โ๏ธHeap์ ํฌ๊ธฐ๊ฐ ์ผ์ ํ์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ ์ด์
๊ฒ์์ ํด๋ณด๋ค๊ฐ, ํ์ ์ผ์ ํ ํฌ๊ธฐ๋ก ์ ์งํด์ผํ๋ค๊ธธ๋ GPT ์ ์์๊ฒ ๋ฐ๋ก ๋ฌผ์ด๋ณด์๋๋
๋ด๊ฐ ๋ฐ๋ก ์ nxnํ๋ ฌ์ ๋ชจ๋ ์์๋ฅผ ์ ์ฅํ์๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋๋ณด๋ค...
๐๐ป ํ์ํฌ๊ธฐ๋ฅผ n์ผ๋ก ์ ์ง์์ผ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ ํ์ํค์!
โ ์ ๋ต
import heapq
import sys
input = sys.stdin.readline
n = int(input())
heap = []
for _ in range(n):
nums = list(map(int,input().split())) #[12,7,9,15,5]
if not heap:
for num in nums:
heapq.heappush(heap, num) # ์ด๊ธฐ๊ฐ n๊ฐ ๋ฃ์ด์ฃผ๊ธฐ [5,7,9,12,15]
else:
for num in nums:
if num > heap[0]:
heapq.heappop(heap) # ๋งจ์์ ๊ฑฐํ๊ณ
heapq.heappush(heap, num) # ์๋ก์ด ๊ฐ ๋ฃ์ด์ฃผ๊ธฐ
print(heap[0])
๋ฉ๋ชจ๋ฆฌ | ์คํ์๊ฐ |
33188KB | 760ms |
ํ์ ํฌ๊ธฐ๋ฅผ n์ ๊ฐ์ผ๋ก ๊ณ ์ ํด์ผํ๋ค๋ ํผ๋๋ฐฑ์ ๊ฐ์ง๊ณ ,
n๊ฐ์ฉ input์ ๋ฐ์ ์ฒ์ ์ด๊ธฐ๊ฐ์ heappush๋ก ์ค์ ํด์ฃผ๊ณ , ์ต์ข ์ ์ผ๋ก ๊ฐ์ฅ ํฐ n๊ฐ์ ๊ฐ๋ง์ ๋จ๊ฒจ์ผํ๊ธฐ ๋๋ฌธ์
์ํ๋ฅผ ํตํด Input์ผ๋ก ๋ฐ์ ์๋ก์ด ๊ฐ๊ณผ ํ์ ์กด์ฌํ๋ ๊ฐ์ฅ ์์๊ฐ์ pop์ผ๋ก ์์ ์ค๋ค.
๊ทธ๋ ๊ฒ ์ต์ข ์ ์ผ๋ก ๋จ์ heap์ [5,4,3,2,1]๋ฒ์งธ๋ก ํฐ์๋ค์ด ๋ด๊ฒจ์์๊ฒ์ด๊ธฐ ๋๋ฌธ์ 0๋ฒ์งธ ์ธ๋ฑ์ค๊ฐ์ ์ถ๋ ฅํด์ฃผ๋ฉด๋๋ค! โจ