Codility - CountDiv

EY·2021년 7월 21일
0

codility

목록 보기
3/7

Write a function:

function solution(A, B, K);

that, given three integers A, B and K, returns the number of integers within the range [A..B] that are divisible by K, i.e.:

{ i : A ≤ i ≤ B, i mod K = 0 }

For example, for A = 6, B = 11 and K = 2, your function should return 3, because there are three numbers divisible by 2 within the range [6..11], namely 6, 8 and 10.

Write an efficient algorithm for the following assumptions:

A and B are integers within the range [0..2,000,000,000];
K is an integer within the range [1..2,000,000,000];
A ≤ B.
Copyright 2009–2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

  1. 주어진 정수의 범위에서 K로 나눈 몫을 이용하여 풀 수 있는 문제이다.
  2. 반복문을 사용하게 될 경우 timeOver 가 발생됨
  3. B/K 의 몫과 A/K의 몫을 이용하여 풀 수 있다.
function solution(A, B, K) {
    return Math.floor(B/K) - Math.ceil(A/K) + 1;
}
profile
코딩을 좋아하는 개발자 입니다

0개의 댓글