문제
https://programmers.co.kr/learn/courses/30/lessons/42747
나의 코드
def solution(citations):
for i in reversed(range(0,max(citations)+1)):
up=len([j for j in citations if i<=j])
down=len(citations)-up
if up>=i and down<=i:
return i
H-index값을 구하기 위해서 0개, 1개 ....식으로 탐색을 진행해야 한다.
최댓값을 구하는 것인데 답이 될 수 있는 모든 경우의 수를 생각해 본다면 0~(citations에 있는 값 중 가장 큰 값)이 될 것이다. 따라서 range를 사용해서 0~ 가장 큰 값을 하고 reversed를 사용해서 뒤집은 다음 조건을 만족하면 바로 return하는 식으로 가장 큰 값을 return하도록 처리하였다.
나머지 개념은 단순구현으로 코드를 작성하였다 [ for문 if문 ]으로 조건에 부합하는 요소들의 개수를 얻었다.
'공부-코딩테스트 > 코테풀이 - 자바, 파이썬' 카테고리의 다른 글
카펫 (코딩테스트, 프로그래머스, 파이썬) (0) | 2022.02.21 |
---|---|
방문 길이 (코딩테스트, 프로그래머스, 파이썬) (0) | 2022.02.20 |
전화번호 목록 (코딩테스트, 프로그래머스) (0) | 2022.02.17 |
위장 (코딩테스트, 프로그래머스) (2) | 2022.02.08 |
수식 최대화 (코딩테스트, 프로그래머스) (0) | 2022.02.07 |
댓글