본문 바로가기

Algorithm/Leet Code

LeetCode #728 SelfDividingNumbers. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이터..

LeetCode #728 SelfDividingNumbers. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이터베이스, sql, query, 쿼리

 

 

 

 It's been a long time..

 

 아주 오랜만에..

 

 

 

Runtime: 0 ms, faster than 100.00% of C++ online submissions for Self Dividing Numbers.

 

Memory Usage: 6.3 MB, less than 97.68% of C++ online submissions for Self Dividing Numbers.

 

 

 

LeetCode #728

Q. 

 A self-dividing number is a number that is divisible by every digit it contains.

For example, 128 is a self-dividing number because 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0.

Also, a self-dividing number is not allowed to contain the digit zero.

Given a lower and upper number bound, output a list of every possible self dividing number, including the bounds if possible.

 

 self-dividing number 는 해당 숫자의 모든 각각의 자릿수로 해당 숫자를 나눌 수 있는 숫자를 말한다.

예를 들면, 128 은 self-dividing number 이다. 왜냐면 128 % 1 == 0, 128 % 2 == 0, 그리고 128 % 8 == 0 이다.

또한, self-dividing number 는 자릿수 중에서 0 을 포함하지 않는다.

작은수와 큰수의 범위가 주어지고, 그 안에서 모든 self-dividing number 를 찾아서 반환해라.

 

Example 1:

 

Input: left = 1, right = 22

 

Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

 

 

Note:

 

  • The boundaries of each input argument are 1 <= left <= right <= 10000.
  • 입력받는 인자는 1 <= left <= right <= 10000 이다.

 

 

Process

// Process
//1. Input left (begin number) and right (end number)
//2. Iterate from left to right (i)
// 2.1. Iterate every digit of number
//  2.1.1. Check if it's divisible or not
//   2.1.1.1. If not -> make flag false
// 2.2. If flag is true -> add to resultVector
//3. Return resultVector

 

 

// 처리과정

//1. 바운더리 left, right (시작값, 끝값) 입력 받는다.

//2. 시작부터 끝까지 반복한다. (i)

// 2.1. 해당 숫자의 모든 자릿수를 반복한다.

//  2.1.1. 자릿수로 해당 숫자가 나눠지는지 확인해서

//   2.1.1.1. 안나눠지면 flag 를 false 로 바꾼다.

// 2.2. flag 를 확인해서 true 일 때만 (self-dividing number 일 때만) resultVector 에 넣는다.

//3. resultVector 반환한다.

 

 

 

Code.. lemme see example code!!!

코드.. 예제코드를 보자!!!

 

 

 

class Solution {
public:
    vector<int> selfDividingNumbers(int left, int right) {
        vector<int> resultVector;
        
        int residue = 0;
        for (int i = left; i <= right; ++i)
        {
            bool isValid = true;
            
            int number = i;
            int quotient = number / 10;
            int remainder = number % 10;
            
            while (number != 0 && isValid)
            {                
                remainder = number % 10;
                
                if (remainder == 0 || i % remainder != 0)
                {
                    isValid = false;
                }
                
                number /= 10;
            }
            
            if (isValid)
            {
                resultVector.push_back(i);
            }
        }
        
        return resultVector;
    }
};

 

 

 

Something else you might like...?

 

 

2018/12/28 - [Programming/Software Architecture] - Perfecting OO's Small Classes and Short Methods. 완벽한 객체지향의 작은 클래스와 짧은 메소드, Book:ThoughtWorks Anthology, Java,cpp,자바,oop,좋은코드,객체지향프로그래밍 - (#9, Tell, Don't Ask)

2018/12/26 - [Programming/Software Architecture] - Perfecting OO's Small Classes and Short Methods. 완벽한 객체지향의 작은 클래스와 짧은 메소드, Book:ThoughtWorks Anthology, Java,cpp,자바,oop,좋은코드,객체지향프로그래밍 (1)

 

 

2019/01/14 - [Programming/Java] - 자바 메모리 누수 체크/확인/고치는 방법, Memory leak check/fix in Java application, cleanCode/좋은코드/oop/객체지향

 

 

2019/12/19 - [Algorithm/Leet Code] - LeetCode #706 DesignHashMap. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이터베이..

2019/12/11 - [Algorithm/Leet Code] - LeetCode #1047 RemoveAllAdjacentDuplicatesInString. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술..

2019/12/06 - [Algorithm/Leet Code] - LeetCode #844 BackspaceStringCompare. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이..

 

 

 

2019/11/02 - [Algorithm/Code Fights (Code Signal)] - CodeSignal Intro Databases #7 MostExpensive. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, ..

2019/10/31 - [Algorithm/Code Fights (Code Signal)] - CodeSignal Intro Databases #6 VolleyballResults. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면..

 

 

2019/08/14 - [Life/Item review] - Mi Band 4 review, 미밴드4 후기, 장점, 단점, 리뷰, 한글, global review, 미밴드4 글로벌 후기, 리뷰, 구매, 사용방법, setting, 세팅, ProsNCons

 

 

2018/10/19 - [Programming/Design Pattern ] - Design pattern - Prototype (디자인패턴 - 프로토타입) / Java C++ C#

 

 

2019/01/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #60 sudoku. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

2019/01/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #59 spiralNumbers. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

 

 

2019/03/31 - [Life/Health care] - 동시에 먹지 말아야 하는 영양제, Health supplements which should not be taken together, 비타민, vitamin, usage/side effects/dosage 효능/부작용/성인,소아 용법

2019/02/10 - [Life/Health care] - 고지방식/키토식/키토제닉/hflc 다이어트 식단, What is the Keto diet/High fat low carb/hflc/ketogenic diet, 효과/효능/부작용/방법/effect/side effect

2019/01/17 - [Life/Health care] - Zinc 아연 usage/side effects/dosage/fatigue/supplement/antioxidant/효능/부작용/성인,소아 용법/건강/피로회복/영양제/항산화

2019/02/16 - [Life/Health care] - Finasteride 피나스테라이드,탈모약 usage/side effects/dosage 효능/부작용/효과/sexual effect/두타스테라이드/프로페시아/propecia/finpecia/카피약/copy drug/hair loss