프로그래머스/프로그래머스 Lv1
프로그래머스 / 연습문제 / 하샤드 수
ENUM01
2020. 5. 12. 10:30
https://programmers.co.kr/learn/courses/30/lessons/12947
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <string>
#include <vector>
using namespace std;
bool solution(int x) {
int sum = 0;
int n = x;
bool answer;
while(n!=0)
{
sum += n % 10;
n = n / 10;
}
return x % sum == 0 ? true : false;
}
|
이전에 풀었던 자리수 더하기 문제와 비슷하다.
주어진 수 n을 10으로 나눈 나머지를 더한 후,
주어진 수 n을 10으로 나눈다.
2345 % 10 = 5;
2345 / 10 = 234;
234 % 10 = 4;
234 / 10 = 23;
...
이런식으로 나누다 보면 수 n이 0이 된다.
그때 while문을 빠져나오면 된다.