O(1)
// you can use includes, for example:
// #include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(int A, int B, int K) {
// write your code in C++14 (g++ 6.2.0)
int large = B / K, small = (A-1 >= 0 ? A-1 : 0) / K;
if(A == 0) return large - small + 1;
return large - small;
}
수학적으로 해결한 문제이다. A~B를 사이의 숫자 중 K로 나눈 나머지가 0인 것을 찾아야 하므로 B를 K로 나눈 몫에서 (A-1)을 K로 나눈 몫을 빼서 문제를 해결했다. 근데 처음에 틀렸었는데 A가 0인 경우도 0 / K
는 0이므로 세려줘야했는데 빼먹었었다... 이런 실수들이 코딩 테스트 때 맞왜틀(맞는데 왜 틀림) 혹은 solve로 생각했는데 틀린 경우로 발생할 수 있으므로 조심해야겠다...!