티스토리 뷰

A, B, K 세 숫자를 입력 받아서 A ~ B 사이 숫자 중 K로 나누어떨어지는 개수를 return하는 문제.

처음에는 A ~ B까지 다 loop 돌면서 나누어떨어지는지 확인했으나 시간초과로 100%가 안나왔다. 여러가지 테스트해보다가 A / K, B / K 한 몫이 A에 K로, B에 K로 나누어떨어지는 숫자의 개수인 것을 알게되었고 그 사실을 응용해서 해결하였다.

class Solution {
    public int solution(int A, int B, int K) {
    	// B / K - A / K 해주고
        int result = B / K - A / K;
        // 만약 A가 K로 나누어떨어지는 경우 A도 포함시켜야하기 때문에 + 1
        if (A % K == 0) {
            result++;
        }
        return result;
    }
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함