프로그래머스 h-index

DARTZ·2022년 5월 24일
0

알고리즘

목록 보기
75/135
def solution(citations):
    citations.sort()
    
    if max(citations) == 0:
        return 0
    
    for i in range(len(citations)):
        if(citations[i]>=len(citations)-i):
            return (len(citations)-i)

알고리즘 스터디 나미님이 푸신 것 보고 나도 한번 풀어봤다. 높은 경우와 낮은 경우의 경우의 수를 구해서 하는 방법으로 풀었는데 풀면서 잘 못 됨을 느끼고 시간도 초과되어 코드를 확인했다.
오름차순으로 정렬하고 for를 돌리면서 돌은 만큼 갯수를 빼주는 방식으로 푼게 인상 깊었다. 하지만 마지막 testcase를 통과하지 못했는데 모든 배열의 원소가 0일 경우가 처리가 안된다. 그래서 리스트의 최댓 값이 0일 경우 0을 리턴하는 문장을 추가해줘서 해결하였다.

profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글