๋ฌธ์ ์ค๋ช
์์ ์ ์ x๊ฐ ํ์ค๋ ์์ด๋ ค๋ฉด x์ ์๋ฆฟ์์ ํฉ์ผ๋ก x๊ฐ ๋๋์ด์ ธ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 18์ ์๋ฆฟ์ ํฉ์ 1+8=9์ด๊ณ , 18์ 9๋ก ๋๋์ด ๋จ์ด์ง๋ฏ๋ก 18์ ํ์ค๋ ์์ ๋๋ค. ์์ฐ์ x๋ฅผ ์ ๋ ฅ๋ฐ์ x๊ฐ ํ์ค๋ ์์ธ์ง ์๋์ง ๊ฒ์ฌํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
https://school.programmers.co.kr/learn/courses/30/lessons/12947
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
์ ํ ์ฌํญ
- x๋ 1 ์ด์, 10,000 ์ดํ์ธ ์ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
x | return |
10 | true |
12 | true |
11 | false |
13 | false |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 10์ ๋ชจ๋ ์๋ฆฟ์์ ํฉ์ 1์ ๋๋ค. 10์ 1๋ก ๋๋์ด ๋จ์ด์ง๋ฏ๋ก 10์ ํ์ค๋ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 12์ ๋ชจ๋ ์๋ฆฟ์์ ํฉ์ 3์ ๋๋ค. 12์ 3๋ก ๋๋์ด ๋จ์ด์ง๋ฏ๋ก 12์ ํ์ค๋ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์ #3
- 11์ ๋ชจ๋ ์๋ฆฟ์์ ํฉ์ 2์ ๋๋ค. 11์ 2๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ผ๋ฏ๋ก 11์ ํ์ค๋ ์๊ฐ ์๋๋๋ค.
์ ์ถ๋ ฅ ์ #4
- 13์ ๋ชจ๋ ์๋ฆฟ์์ ํฉ์ 4์ ๋๋ค. 13์ 4๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ผ๋ฏ๋ก 13์ ํ์ค๋ ์๊ฐ ์๋๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public boolean solution(int x) {
boolean answer = true;
int sum = 0;
int original = x;
while (x > 0) {
sum = sum + (x % 10);
x = x / 10;
}
if (original % sum == 0) {
answer = true;
} else {
answer = false;
}
return answer;
}
}
์ฝ๋ ์ค๋ช
- int sum = 0, int original = x
- ๋ณ์ sum๊ณผ original์ ๊ฐ๊ฐ ๊ฐ์ ์ ๋ ฅํ๋ค.
- x ๊ฐ์ด ๋ณ๊ฒฝ๋ ๊ฒ์ ๋๋นํด์ original์ x๊ฐ์ ์ ๋ ฅํ๋ค.
- while (x > 0) { } : ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ค. ์ ํด์ง ๋ฒ์๊ฐ ์๊ธฐ ๋๋ฌธ์ while๋ฌธ์ด ๋ ์ ์ ํ๋ค.
- sum = sum + (x % 10) : sum์ ๊ฐ ์๋ฆฌ ์๋ฅผ ๋ํด์ ์ ์ฅํ๋ค.
- x = x / 10 : ๊ฐ ์๋ฆฌ์๋ฅผ ์ป๊ธฐ ์ํด ๋ฐ๋ณต๋ฌธ์ด ๋์๊ฐ ๋๋ง๋ค 10์ฉ ๋๋ ์ค๋ค.
- if (original % sum ==0) : sum ๊ฐ์ผ๋ก ๋๋์ด ๋จ์ด์ง ๊ฒฝ์ฐ ํ์ค๋ ์์ด๊ธฐ ๋๋ฌธ์ answer ๋ณ์์ true๋ฅผ ์ ๋ ฅํ๋ค.
- else : sum ๊ฐ์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ ๊ฒฝ์ฐ ํ์ค๋ ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ answer ๋ณ์์ false๋ฅผ ์ ๋ ฅํ๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฝ๋ผ์ธ ์ถ์ธก (0) | 2024.11.09 |
---|---|
๋ ์ ์ ์ฌ์ด์ ํฉ (0) | 2024.11.08 |
์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2024.11.07 |
์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2024.11.06 |
๋ฌธ์์ด์ ์ ์๋ก ๋ฐ๊พธ๊ธฐ (0) | 2024.11.03 |