[LeetCode] Count the Digits That Divide a Number

아르당·2026년 9월 18일

LeetCode

목록 보기
534/583
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

정수 num이 주어지고, num에서 num을 나눌 수 있는 자리의 수의 갯수를 반환해라.
정수 val은 nums % val == 0이면 nums를 나눌 수 있다.

Example

#1
Input: num = 7
Output: 1
Explanation: 7은 스스로 나눌 수 있어서 답은 1이다.

#2
Input: num = 121
Output: 121은 1로 나눌 수 있지만, 2로 나눌수 없다. 1이 두 번 나타나서, 2를 반환한다.

#3
Input: num = 1248
Output: 4
Explanation: 1248은 모든 자리 수로 나눌 수 있어서 4를 반환한다.

Constraints

  • 1 <= num <= 10^9
  • num은 자릿수 중 하나로 0을 포함하지 않는다.

Solved

class Solution {
    public int countDigits(int num) {
        int count = 0;
        int temp = num;

        while(temp > 0){
            int digit = temp % 10;

            if(digit != 0 && num % digit == 0){
                count++;
            }

            temp /= 10;
        }

        return count;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글