백준 2075.N번째 큰 수

이상·2024년 5월 21일

알고리즘

목록 보기
17/21

2075.N번째 큰 수


처음에는 그냥 정렬로 풀다가 메모리 초과를 당했다 ㅜㅜ.

import sys
n = int(sys.stdin.readline().rstrip())
nums = []
for i in range(n):
    num = list(map(int,sys.stdin.readline().split()))
    nums += num
nums.sort()
print(nums[-n])

heapq만 사용할 수 있다면 쉬운 문제!
n개의 숫자만 들어오게 하여 앞으로 들어올 숫자와 비교하면 된다.

import sys
import heapq
n = int(sys.stdin.readline().rstrip())
nums = []
for _ in range(n):
    num = list(map(int,sys.stdin.readline().split()))
    for i in num:
        if len(nums) < n:
            heapq.heappush(nums,i)
        else:
            if nums[0] < i:
                heapq.heappop(nums)
                heapq.heappush(nums,i)
print(nums[0])


profile
입니다.

0개의 댓글