[백준] 13333번 Q-인덱스

거북이·2023년 1월 10일
0

백준[실버5]

목록 보기
95/114
post-thumbnail

💡문제접근

n개의 논문들에 대한 인용횟수를 오름차순 정렬한 후에 값이 조건에 맞는지를 확인하는 과정을 거쳐 최종 답을 출력했다.

한 학생이 발표한 총 n(n ≥ 1)편의 논문 중에서, k번 이상 인용된 논문이 k편 이상이고 나머지 n − k 편의 논문들 인용회수가 각각 k 번 이하라면, 해당 학생의 q-인덱스는 k이다.

예를 들어, 한 학생이 발표한 논문은 총 5편이고 각 논문의 인용횟수가 8, 4, 5, 3, 10이라고 하자. k = 3인 경우 3번 이상 인용된 논문이 5편으로 3편 이상이 되고 3번 이하로 인용된 논문은 1편밖에 되지 않으므로 성립하지 않는다. 그 다음 k = 4인 경우 4번 이상 인용된 논문이 4편으로 4편 이상이 되고 4번 이하로 인용된 논문은 총 2편으로 1편 이상이 나오게 되므로 성립하게 된다. 따라서 이 학생의 Q-인덱스 값은 4가 된다.

문제에 대한 이해부분보다는 코드 작성에서 시간이 좀 많이 걸렸다.

💡코드(메모리 : 30616KB, 시간 : 40ms)

n = int(input())
quote = list(map(int, input().split()))
quote.sort()

for k in range(n, -1, -1):
    if k <= quote[-k]:
        print(k)
        break

💡소요시간 : 20m

0개의 댓글