Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

우주에서 글을 적어본다

99클럽 코테 스터디 12일차 TIL + 정렬과 구현 본문

항해99 TIL

99클럽 코테 스터디 12일차 TIL + 정렬과 구현

우주로 날아간 사람 2024. 8. 2. 16:04

[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "H-Index" 문제를 풀었다.
- 오늘 주제는 정렬이다.
- 그러나 H-Index 문제가 이해가 되지 않았다. 설명을 읽어봐도 응?을 몇 번이나 외쳤는지.

[나의 코드]

def solution(citations):
    citations.sort(reverse=True)
    
    idx = 0
    for i in range(len(citations)):
        if citations[i] >= i + 1:
            idx += 1
        else:
            break
    return idx

예제가 하나밖에 없어서 다른 테스트 케이스도 찾아봤다. (프로그래머스에서 친절히 제공하니 더 찾아보시길)

[0] 배열의 길이가 최소이면서 배열의 원소도 최소인 경우
[1] 배열의 길이가 최소이면서 배열의 길이와 배열의 원소가 같은 경우
[10000] 배열의 길이는 최소이면서 배열의 원소는 최대인 경
[0, 1, 2, 3, 4] 최솟값부터 1씩 증가하는 오름차순 배열
[1000, 999, 998, ..., 3, 2, 1] 배열의 길이가 최대이면서 1000(배열의 길이와 같음)부터 시작하여 1씩 감소하는 내림차순 경우
[1000, 1000, ..., 1000] 배열의 길이가 최대이면서 배열의 길이와 배열의 원소가 모두 같은 경우

다음 조건을 만족하는 최댓값 H를 찾는 것이 문제의 요점이다.

  • H번 이상 인용된 논문이 H편 이상이고,
  • 나머지 논문이 H번 이하 인용되었을 때의 H값.

내림차순 정렬을 통해 인용 횟수가 몇 번 이상인 논문이 몇 편 있는지를 알 수 있다.
그리고 인용 횟수를 하나씩 확인하면서, 인용 횟수가 현재 인덱스보다 크거나 같은지 확인한다.

[오늘의 회고]
- 문제가 좀 이해하기 힘들어서 접근하는 게 어려웠다. (still confusing)
- 에라이 모르겠다. 끝!