🍞 Problem Solving/Programmers

[프로그래머스][Level1] 하샤드 수 c++

박빵이 2022. 9. 3. 13:37

풀이과정

x의 값을 string으로 바꾼 뒤에 각 자리의 수 합을 구한다.  
그러기 위해선 각 자리를 문자에서 숫자로 바꿔줘야 한다.  
문자 -> 숫자일 땐 '0'을 빼주고,  
숫자 -> 문자일 땐 '0'을 더해준다.

 

#include <string>
#include <vector>

using namespace std;

bool solution(int x) {
    bool answer = false;

    string str = to_string(x);
    int sum = 0;
    for(int i = 0; i < str.size(); i++){
        sum += str[i] - '0';
    }
    if(x % sum == 0) answer = true;

    return answer;
}