Code in

프로그래머스 정렬 H-Index with Kotlin 본문

알고리즘 스터디_문제풀이

프로그래머스 정렬 H-Index with Kotlin

heyhmin 2020. 8. 10. 21:57

프로그래머스 정렬 부분 H-Index 문제이다.

IntelliJ에서의 풀이이다.

var citations: IntArray = intArrayOf(3, 0, 6, 1, 5)

fun solution(citations: IntArray): Int {
    var answer = 0
    
    val n = citations.size // 발표한 논문 n
    // val은 value, var은 variable이다.
    // val은 값 할당 후, 값을 변경할 수 없다. var는 변경 가능하다.
    
    citations.sortDescending() // 6, 5, 3, 1, 0 // 인용된 횟수 큰 순서=내림차 순
    
    for(i in 0 until n) // i는 0 1 2 3 4 Index가 인용된 편 수 h 이다.
        if (citations[i] <= i) return i
    // h가 클 수록 좋으니 h를 키우는 방향
    // 인용된 횟수가 인용된 편 수 보다 작다면 h를 키우는 것을 멈추고 h를 출력 한다.
    
    answer = n
    // 모든 논문이 인용된 횟수가 n보다 크다면, h의 최댓값인 n을 출력한다.
    
    return answer
}
fun main() {
    print(solution(citations)) //3
}

URL: https://programmers.co.kr/learn/courses/30/lessons/42747?language=kotlin

 

코딩테스트 연습 - H-Index

H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표

programmers.co.kr

 

Comments