[프로그래머스/Python] 정렬 - H-Index
😎 나의 풀이
def solution(citations):
answer = 0
# [6, 5, 3, 1, 0]
citations.sort(reverse=True)
for i in range(len(citations)):
if citations[i] >= i+1:
answer = i+1
return answer
- 위키백과에서 힌트를 얻음 캬캬
👩🏻🏫 다른 풀이
def solution(citations):
citations.sort(reverse=True)
answer = max(map(min, enumerate(citations, start=1)))
return answer
✏️ Python 문법
map(적용시킬함수, 적용할 요소들) 함수
- iterable을 받아서, 각 요소에 함수를 적용해주는 함수
data = [1, 2, 3, 4]
print(list(map(str, data))) # ['1', '2', '3', '4']
enumerate 함수
data = ["하나", "둘", "셋", "넷", "다섯"]
for idx, val in enumerate(data, start = 1):
print("idx:",idx,"val:",val)
# idx: 1 val: 하나
# idx: 2 val: 둘
# idx: 3 val: 셋
# idx: 4 val: 넷
# idx: 5 val: 다섯
data = [3, 0, 6, 1, 5]
print(list(enumerate(data, start=1))) # [(1, 3), (2, 0), (3, 6), (4, 1), (5, 5)]
print(list(map(min,enumerate(data, start=1)))) # [1, 0, 3, 1, 5]
print(max(map(min,enumerate(data, start=1)))) # 5
Author And Source
이 문제에 관하여([프로그래머스/Python] 정렬 - H-Index), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sugenius77/프로그래머스정렬-H-Index저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)