우주에서 글을 적어본다
99클럽 코테 스터디 12일차 TIL + 정렬과 구현 본문
[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "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)
- 에라이 모르겠다. 끝!
'항해99 TIL' 카테고리의 다른 글
99클럽 코테 스터디 14일차 TIL + 이분 탐색 (0) | 2024.08.04 |
---|---|
99클럽 코테 스터디 13일차 TIL + 이분 탐색 그리고 정렬을 곁들인.. (0) | 2024.08.03 |
99클럽 코테 스터디 11일차 TIL + 구현 (0) | 2024.08.01 |
99클럽 코테 스터디 10일차 TIL + 힙(Heap) (0) | 2024.07.31 |
99클럽 코테 스터디 9일차 TIL + 힙(Heap) (0) | 2024.07.30 |