문제 : https://programmers.co.kr/learn/courses/30/lessons/42747
코딩테스트 연습 - H-Index
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표
programmers.co.kr
문제 이해하기가 생각보다 어려웠다.. 🤷
풀이방법
1. 숫자가 큰 순서대로 정렬 후 각 자리의 숫자와 자릿수를 비교 한다.
2. 자리수가 더 크거나 캍으면 그 자릿수를 반환한다.
- 예시
1. [0, 0, 0, 0] 이면 역 정렬 -> [0, 0, 0, 0]
2. 각 자릿수 비교 -> [0, 0, 0, 0] : [0, 1, 2, 3] = 0 리턴
import Foundation
func solution(_ citations:[Int]) -> Int {
var sorted = citations.sorted(by: >)
for index in 0..<citations.count {
if (sorted[index] <= index) {
return index
}
}
return sorted.count
}
print(solution([3,0,6,1,5])) // 3
print(solution([1545, 2, 999, 790, 540, 10, 22])) // 6
print(solution([6,6,6,6,6,6])) // 6
반응형
'알고리즘' 카테고리의 다른 글
[DFS] Sum Root To Leaf Numbers - LeetCode Swift (0) | 2021.07.22 |
---|---|
[정렬] 병합정렬 Swift (0) | 2021.07.20 |
[Queue] 다리를 지나는 트럭 - 프로그래머스 Swift (0) | 2021.07.15 |
[해쉬] 위장 - 프로그래머스 Swift (2) | 2021.07.14 |
[해쉬] N-Repeated Element in Size 2N Array - LeetCode Swift (0) | 2021.07.14 |