/*
https://school.programmers.co.kr/learn/courses/30/lessons/12947
๋ฌธ์ ์ค๋ช
์์ ์ ์ x๊ฐ ํ์ค๋ ์์ด๋ ค๋ฉด x์ ์๋ฆฟ์์ ํฉ์ผ๋ก x๊ฐ ๋๋์ด์ ธ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 18์ ์๋ฆฟ์ ํฉ์ 1+8=9์ด๊ณ , 18์ 9๋ก ๋๋์ด ๋จ์ด์ง๋ฏ๋ก 18์ ํ์ค๋ ์์
๋๋ค. ์์ฐ์ x๋ฅผ ์
๋ ฅ๋ฐ์ x๊ฐ ํ์ค๋ ์์ธ์ง ์๋์ง ๊ฒ์ฌํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
x๋ 1 ์ด์, 10000 ์ดํ์ธ ์ ์์
๋๋ค.
*/
const solution = (x) => {
// ์ ๋ต ๋ฆฌํดํ ๋ณ์
let answer = true;
// ๊ฐ ์ ์ฅ ์ํ ๋ณ์
let saving = 0;
// ์ธ์๋ก ๋์ด์จ ์ซ์๋ฅผ ๋ฌธ์์ดํ ์์ผ์ ์คํ๋ฆฟ ๋ฉ์๋๋ก ์ชผ๊ฐฌ
const strX = String(x).split('');
// for๋ฌธ ์คํ๋. strX์ ๊ธธ์ด๋งํผ.
for (let i = 0; i < strX.length; i++) {
// ๋๋ฉฐ ์ถ์ถํ ๊ฐ ์ธ๋ฑ์ค ๊ฐ์ ์ ์ํ ์์ผ์ saving ๊ฐ์ ๋ํจ
saving += Number(strX[i]);
}
// ์ผํญ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ์ธ์๊ฐ์ด saving ๊ฐ์ผ๋ก ๋๋๋ฉด true ๋ฐํ. ์๋๋ฉด false ๋ฐํ. answer์ ํ ๋นํด ๋ฆฌํด
answer = x % saving === 0 ? true : false;
return answer;
};
console.log(solution(10));
console.log(solution(11));
console.log(solution(12));
console.log(solution(13));