July 17, 2023
함수를 작성합니다:
function solution(A, B, K);세 개의 정수 A, B, K가 주어졌을 때 [A..B] 범위 내에서 K로 나눌 수 있는 정수의 개수를 반환하는 함수입니다:
{ i : A ≤ i ≤ B, i mod K = 0 }.예를 들어
A = 6, B = 11, K = 2인 경우[6..11] 범위 내에 2로 나눌 수 있는 숫자는 6, 8, 10 등 세 개이므로 함수는 3을 반환해야 합니다.
다음 가정에 대한 효율적인 알고리즘을 작성하십시오:
배열의 모든 값을 순회하지말고 A를 K로 나눈 몫과 B를 K로 나눈 몫 사이에 존재하는 갯수를 확인하면 된다.
function solution(A, B, K) {
const start = Math.floor(A / K)
const end = Math.floor(B / K)
return A % K === 0 ? end - start + 1 : end - start
}