
1. ๋ฌธ์ ์ดํด
์ ์ n์ด ์ฃผ์ด์ง ๋, ๊ฐ ์๋ฆฟ์๋ฅผ ๋ํ ๊ฐ์ ๋ฐํํ๋ค.
์) n = 123 → 1 + 2 + 3 = 6
2. ์ ๊ทผ ๋ฐฉ๋ฒ
์ฃผ์ํ ์ : ๋จธ๋ฆฌ์ ๋ฃ๊ณ ์ ๊ทผํ๋ ์ฌ์์ง๋ค!
- ์ธ๋ฑ์ค๋ก ์ ๊ทผํ๋ ค๋ฉด '๋ฌธ์์ด'์ด๋ '๋ฐฐ์ด'์ผ ๊ฒฝ์ฐ ๊ฐ๋ฅํ๋ค.
- int์๋ .length๊ฐ ์๋ค!
- inr๋ ๋ฐฐ์ด์ด ์๋๋ค!
โผ 1์ฐจ ํ์ด : String์ผ๋ก ๋ณํํด์ ์ธ๋ฑ์ค๋ก ์ ๊ทผ
# int → String ๋ณํ ํ, ํ ๊ธ์์ฉ ๊บผ๋ด์ ๋ํ๊ธฐ
•String.valueOf(n) : int๋ฅผ ๋ฌธ์์ด๋ก ๋ณํ
•str.charAt(i) : i๋ฒ์งธ ๋ฌธ์ ๊ฐ์ ธ์ค๊ธฐ
•- '0' : ๋ฌธ์ '3' → ์ซ์ 3์ผ๋ก ๋ณํ
(๋ฌธ์ '0'์ ์ ๋์ฝ๋ ๊ฐ 48์ด๋ผ์ '3'(51) - '0'(48) = 3)
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
// int n์ String์ผ๋ก ๋ณํ
String str = String.valueOf(n);
// ๋ฌธ์ '0' = ์ซ์ 48
for(int i = 0; i < str.length(); i++) {
int digit = str.charAt(i) - '0';
answer += digit;
}
return answer;
}
}
์ฅ์ ๊ณผ ์์ฌ์ด์
# ์ฅ์
- ์๋ฆฟ์๊ฐ ๋ช ๊ฐ๋ str.length()๋งํผ ์๋์ผ๋ก ๋ฐ๋ณตํ ์ ์๋ค.
# ์์ฌ์ด์
- ์ซ์ ๋ฌธ์ ์ธ๋ฐ ๋ฌธ์์ด ๋ณํ์ด ๋ค์ด๊ฐ์ ๋ฒ๊ฑฐ๋กญ๋ค...
โผ 2์ฐจ ํ์ด : ๋ฌธ์์ด ์์ด ์ํ ์ฐ์ฐ์ผ๋ก ํด๊ฒฐ
# % 10์ผ๋ก ๋งจ ๋ค ์๋ฆฌ ๊บผ๋ด๊ณ , / 10์ผ๋ก ํ ์๋ฆฌ ์ ๊ฑฐํ๊ธฐ
•123 % 10 = 3 → ๋ค ์๋ฆฌ ๊บผ๋
•123 / 10 = 12 → ๋ค ์๋ฆฌ ์ ๊ฑฐ
•๋ฐ๋ณตํ๋ฉด 3 + 2 + 1
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
while(n > 0) {
answer += n % 10; // ๋งจ ๋ค ์ซ์ ๊ฐ์ ธ์ค๊ธฐ
n /= 10; // ๋งจ ๋ค ์ซ์ ์ ๊ฑฐ
}
return answer;
}
}
์ฅ์ ๊ณผ ์ฃผ์ํ ์
# ์ฅ์
- ๋ฌธ์์ด ๋ณํ์ด ์์ด ๊น๋ํ๋ค
- ์๋ฆฟ์์ ์๊ด์์ด ๋์ ๊ฐ๋ฅํ๋ค.
- ์ซ์ ์ฐ์ฐ ๋ฐฉ์์ด๋ผ ์ธ์๋๋ง ํ๋ค
# ์ฃผ์ํ ์
n๊ฐ์ด ๋ฐ๋ณต ๊ณผ์ ์์ ์ค์ด ์ค๊ธฐ ๋๋ฌธ์ ์๋ณธ์ด ํ์ํ๋ค๋ฉด temp ๋ณ์๋ก ๋ณต์ฌํด์ ์ฌ์ฉํ ์ ์๋ค.
3. ์ต์ข ๊ฒฐ๋ก
- ์ธ๋ฑ์ค๋ก ์ ์จํ๊ณ ์ถ๋ค๋ฉด String ๋ณํ์ด ํ์ํ๋ค.
- ํ์ง๋ง ์ซ์ ๋ฌธ์ ์์๋ %10, /10์ผ๋ก ์ด์ฉํ๋ฉด ๊น๋ํด์ง๋ค


[์ฐธ๊ณ ์๊ณ ๋ฆฌ์ฆ ์ฉ์ด]
while, ์๋ฆฟ์ ๋ถ๋ฆฌ, ๋๋จธ์ง ์ฐ์ฐ(%),
์ ์ ๋๋์ (/), ๋์ ํฉ,
์ซ์ ๋ณํ charAt(), valueOf()
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [1๋จ๊ณ][Java] 2022 KAKAO TECH INTERNSHIP, ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (0) | 2026.01.14 |
|---|---|
| [1๋จ๊ณ] [Java] ์ ๋ ฌ, K๋ฒ์งธ์ (0) | 2026.01.06 |
| [ํ๋ก๊ทธ๋๋จธ์ค] ์์ฐ (0) | 2025.09.12 |
| [ํ๋ก๊ทธ๋๋จธ์ค] ๋๋ฌธ์์ ์๋ฌธ์ (0) | 2025.04.09 |
| [ํ๋ก๊ทธ๋๋จธ์ค] ์ค๋ณต๋ ์ซ์ ๊ฐ์ (0) | 2025.03.30 |