[ 프로그래머스 ] 하샤드 수 (연습문제)


코드

#include <string>
#include <vector>

using namespace std;

bool solution(int x) {
    bool answer = false;
    vector<int> arr;
    
    int pushNum,divisor=0,tmpNum = x;
    
    //각 자릿수의 숫자들을 vector에 입력
    while(true){
        if(tmpNum/10==0){
            pushNum = tmpNum;
            arr.push_back(tmpNum);
            break;
        } else {
            pushNum = tmpNum%10;
            tmpNum = tmpNum/10;
            arr.push_back(pushNum);
        }
    }
    
    //자릿수 합 구하기
    for(int i=0;i<arr.size();i++){
        divisor += arr[i];
    }
    
    //하샤드 수인지 판별
    if(x%divisor==0){
        answer = true;
    } else {
        answer = false;
    }
    return answer;
}

스크린샷 2020-03-21 09 24 45