나의 답
def solution(citations):
max_value = []
for a in range(len(citations),0,-1):
cnt_t = 0
for i in citations:
if i >= a:
cnt_t+=1
if (len(citations)-cnt_t) <= a and cnt_t >=a :
return a
return 0
문제를 해석한 대로....... 2중 포문을 사용하고 말았다.
분명 간단한 방법이 있을 것 같았는데, 역시나 다른 분들의 풀이는 간결했다.
다른 사람 답
def solution(citations):
citations = sorted(citations)
l = len(citations)
for i in range(l):
if citations[i] >= l-i:
return l-i
return 0
l-i : i인덱스 값과 같거나 큰 수의 개수
citations 배열 자체가 횟수들이 모여있고 그걸 sort 하니까 바로 검사할 수 있는 거군....
시간 복잡도를 위해서 h-index가 큰 경우부터 검사하고 조건에 만족하면 출력............
조건 확인을 이렇게 하다니.......
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 완전 탐색 - 소수 찾기 (0) | 2024.02.12 |
---|---|
[프로그래머스] 완전 탐색 - 모의고사 (1) | 2024.02.03 |
[프로그래머스] 정렬 - K번째 (1) | 2024.01.30 |
[프로그래머스] 스택/큐 - 프로세스 (1) | 2024.01.29 |
[프로그래머스] 스택/큐 - 주식가격 (1) | 2024.01.29 |