본문 바로가기
2023년 이전/Codility

Lesson5 - CountDiv

by JeongUPark 2019. 12. 13.
반응형

자세한 문제는 여기서 확인해 주세요

 

이 문제는 A와 B 사이의 값중 K로 나누어 떨어지는 값을 찾는 문제입니다. Lesson5 중에 제일 쉬운 문제였던것 같습니다.(구글링을 안했습니다 ㅠㅠ)

 

해결 코드는 다음과 같습니다.

 

fun solution(A: Int, B: Int, K: Int): Int {
    if(A==B){
        if(A%K == 0) return 1
        else return 0
    }
    val start = A/K
    val end = B/K
    
    var ans = end - start
    if(A%K == 0){
        ans++
    }
    
    return ans

}

처음엔 for문으로 해보려다 다른 바업ㅂ이 있지 않을까 싶어서 쪼금 생각을 해봤는데, K의 배수가 저 사이에 몇개인지만 세면 되니 A와 B를 K로 나눈다음 뺴면 그 사이에 K의 배수가 몇개인지 계산이 되어 그렇게 했습니다. 하지만 A의 경우 K로 나누어 떨어질 경우 포함 되어야 하기 때문에 A가 나누어 떨어질 경우 +1을 해주어야 A와 B 사이의 K의 배수가 정확히 카운트 됩니다. 생각보다 쉬운 문제였습니다. 

반응형

'2023년 이전 > Codility' 카테고리의 다른 글

Lesson 6 - Distinct  (0) 2019.12.14
Lesson6 - MaxProductOfThree  (0) 2019.12.13
Codility - Lesson5 MinAvgTwoSlice  (0) 2019.12.13
Lesson 5 - GenomicRangeQuery  (0) 2019.12.06
Lesson 5 - PassingCars  (0) 2019.11.28