• Home
  • About
    • Che1's Blog photo

      Che1's Blog

      Che1's Dev Blog

    • Learn More
    • Facebook
    • Instagram
    • Github
    • Steam
    • Youtube
  • Posts
    • All Posts
    • Django
    • Python
    • Front-end
    • Algorithm
    • etc
    • All Tags
  • Projects

[Codility] Lv5 - CountDiv

11 Apr 2017

Reading time ~1 minute

Prefix Sums 를 어떻게 써먹어야할지 떠오르지가 않아서 일단 단순한 접근법으로 풀어보았다.

결과는 correctness 100%, performance 0%, 총 50%…

Detected time complexity:

O(B-A)
def solution(A, B, K):
    l = [i for i in range(A, B + 1) if i % K == 0]
    return len(l)

최종 답안

모르겠어서 찾아봤더니 답이 이거라고 한다.

Detected time complexity:

O(1)
def solution(A, B, K):
    if A % K == 0:  
        return (B - A) // K + 1
    else:           
        return (B - (A - A % K )) // K

걍 수학 문제인듯한데 뭔가 Prefix Sums 와 관련된 어떤 원리를 적용해서 풀어야하는 것 같기도 하다… 모르겠다 어렵다


Reference

Codility Solution



AlgorithmCodilityPrefix Sums Share Tweet +1