[프로그래머스/Python] 정렬 - H-Index

Sujin Lee·2022년 3월 30일
0

코딩테스트

목록 보기
8/172
post-thumbnail

😎 나의 풀이

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
     
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글