풀이방법:
- 배열을 정렬하였으므로, citation[i]의 오른쪽은 모두 citation[i]보다 같거나 큽니다.
- 즉, 값이 citation[i] 이상인 배열의 개 수의 합은 length-i 입니다.
- 따라서, h번 이상 인용된 논문의 개 수가 h개 이상이여야 한다는 조건은 다음과 같이 구현됩니다. 이때, h번에 해당 하는 값은 length -i 이므로 해당 값을 return 합니다 .
- 다른 방식으로 문제를 풀 때 어려웠던 점은 [0,1,5,6,7,9] 라는 배열이 주어졌을 때, 배열 내에서만 조건을 충족하는 값을 찾아 많이 헤맸었습니다. 이 경우, 4가 나와야한다는 것을 인지하시고 풀면 도움이 많이 될 것 같습니다.
풀이코드:
def solution(citations):
citations.sort()
length = len(citations)
for i in range(length):
if citations[i] >= length-i and citations[i] >= i:
return length-i
return 0
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/python] 네트워크 (0) | 2023.07.06 |
---|---|
[프로그래머스/python] 더 맵게 (0) | 2023.07.04 |
[프로그래머스/python] 같은숫자는싫어 (0) | 2023.07.03 |
[프로그래머스/python] 타겟넘버 (0) | 2023.07.03 |
[프로그래머스/python] 최소직사각형 (0) | 2023.07.03 |