ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [프로그래머스][Kotlin]기사단원의 무기
    프로그래머스 2022. 11. 21. 15:14
    728x90
    import kotlin.math.*
    class Solution {
        fun solution(number: Int, limit: Int, power: Int): Int {
            var answer: Int = 0
            var attackList = mutableListOf<Int>()
            for(i in 1 .. number){
                var count = 0
                var end = sqrt(i.toDouble()).toInt()
                for(j in 1 .. end){
                    if(j * j == i){
                        count++
                    } else if(i % j == 0){
                        count += 2
                    }
                }
                if(count > limit){
                   attackList.add(power) 
                } else {
                    attackList.add(count) 
                }
            }
            answer = attackList.sum()
            return answer
        }
    }

    상기 문제의 경우 처음에는 i%j == 0 이면 count를 올리는 것으로 작성하였다가, 시간 초과가 나오고 나서 제곱근을 이용하여 count의 갯수를 증가시키는 코드로 작성하여 통과하였다. 약수의 갯수를 구하는 것은 작성 할 때 마다 조금씩 헷갈려 해당 방법을 작성한 블로그의 주소도 같이 첨부합니다. 해당 문제는 현재 저의 실력으로 작성하였으며, 최적의 코드가 아님을 말씀드립니다.

    약수의 갯수 제곱근을 이용하여 구하는 방법 설명 블로그 : https://doodle-ns.tistory.com/32

    '프로그래머스' 카테고리의 다른 글

    이중우선순위큐  (0) 2022.11.30
    명예의 전당(1)  (0) 2022.11.28
    과일장수  (0) 2022.11.11
    햄버거 만들기  (0) 2022.11.11
    [프로그래머스][Kotlin]옹알이(2)  (0) 2022.11.10
Designed by Tistory.