본문 바로가기

Algorithm/Implementation

(C++) - LeetCode (easy) 728. Self Dividing Numbers.cpp

반응형

https://leetcode.com/problems/self-dividing-numbers/description/

📕 풀이방법

📔 입력 및 초기화

정답변수 ans를 선언해줍니다.

📔 풀이과정

1.left ~ right까지 for loop를 수행합니다. 

2. 현재 원소를 문자열로 변환해 각 digit에 대해 for loop를 수행합니다.

3. 0이거나 나누어떨어지지 않는다면 loop를 탈출해줍니다.


📕 Code

📔 C++

class Solution {
public:
    vector<int> selfDividingNumbers(int left, int right) {
        vector <int> ans;
        for(int i = left; i <= right; i++) {
            string numString = to_string(i);
            bool isDividingNum = true;
            for(auto n : numString) {
                if(n == '0' || i % (n - '0')) {
                    isDividingNum = false;
                    break;
                }
            }
            if(isDividingNum)
                ans.push_back(i);
        }
        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.