programmers.co.kr/learn/courses/30/lessons/42747
Steps
- 내림차순 정렬
- M = 가장 인용 많이 된 논문의 인용 수
- h = 가장 인용 많이 된 수부터 0까지 감소하며 반복
- 모든 논문 하나하나 h와 인용 수 비교하기
- h 보다 인용 많이 되었으면, count+ 1
- 만약 h보다 count(인용된 논문의 수) 많으면 h를 return
- h보다 인용 많지 않다면, h를 1 줄여서 다시 시도한다.
코드 line 설명
def solution(citations):
# 내림차순 정렬
citations = sorted(citations,reverse= True)
# h : 가장 인용 많이 된 논문의 인용 수
M = citations[0]
# 가장 인용 많이 된 수부터 0까지 감소하며 반복
for h in range(M,-1,-1):
count = 0
# 모든 논문 하나하나 h와 인용 수 비교하기
for j in citations:
# h 보다 인용 많이 되었으면, count+ 1
if h <= j:
count +=1
# 만약 h보다 count(인용 된 논문의 수) 많으면 h를 return
if h <= count:
return h
# h보다 인용 많지 않다면, h를 1 줄여서 다시 시도한다.
print(solution([3, 0, 6, 1, 5]))
print(solution([2, 2]))
[out]
3
2
def solution(citations):
citations = sorted(citations,reverse= True)
M = citations[0]
for h in range(M,-1,-1):
count = 0
for j in citations:
if h <= j:
count +=1
if h <= count:
return h
print(solution([3, 0, 6, 1, 5]))
print(solution([2, 2]))
[out]
3
2
'2021 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] Lv.2 - 기능개발 (python) (0) | 2021.01.04 |
---|---|
[프로그래머스] Lv.2 - 소수찾기 (Python) (0) | 2021.01.02 |
[프로그래머스] Lv.2 - 다리를 지나는 트럭 (Python) (0) | 2021.01.01 |
[프로그래머스] Lv.2 - 프린터 (Python) (0) | 2020.12.29 |
[프로그래머스] Lv.2 - 위장 (Python) (0) | 2020.12.29 |
댓글