Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

_silver 2025. 3. 7. 01:41


๋ฌธ์ œ 1.  ๋จธ์“ฑ์ด๋ณด๋‹ค ํ‚ค ํฐ ์‚ฌ๋žŒ
โ˜‘๏ธ ๋ฌธ์ œ ๋ฐ”๋กœ ํ’€๊ธฐ ํด๋ฆญ

 

๋‚˜์˜ ๋ฌธ์ œ ํ’€์ด
class Solution {
    public int solution(int n) {
        // ๊ฐ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•  ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
        int answer = 0;
        
        // n์ด 0์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
        while(n > 0) {
            
            // ํ˜„์žฌ ์ˆซ์ž์˜ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ์ˆ˜๋ฅผ answer์— ๋”ํ•˜๊ธฐ
            answer += n % 10;
            // ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋‹ค์Œ ์ž๋ฆฌ๋กœ ์ด๋™
            n /= 10;
        }

        // ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฐ’ ๋ฐ˜ํ™˜
        return answer;
    }
}

 

์ฝ”๋“œ ์„ค๋ช…

1. ์ˆซ์ž์˜ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค

 - n % 10 ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋งจ ๋ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค

2. ์ˆซ์ž๋ฅผ ํ•ฉ์‚ฐํ•œ๋‹ค.

 - answer += n % 10 ๊ธฐ์กด ๊ฐ’์— ๋”ํ•œ๋‹ค.

3. ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์Œ ์ž๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค.

 - n /= 10 ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋งจ ๋์ž๋ฆฌ๊ฐ€ ์‚ญ์ œ๋œ๋‹ค.

4. n์ด 0์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ชจ๋“  ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•œ๋‹ค.

 

์˜ˆ. n = 46785

๋‹จ๊ณ„ n๊ฐ’ n % 10 (๋‚˜๋จธ์ง€๋Š”?) answer ๊ฐ’ (๋ˆ„์  ํ•ฉ) n /= 10 (๋งจ ๋์ž๋ฆฌ ์‚ญ์ œ)
1 46785 5 5 4678
2 4678 8 5 + 8 = 13 467
3 467 7 13 + 7 = 20 46
4 46 6 20 + 6 = 26 4
5 4 4 26 + 4 = 30 0(while ๋ฌธ ์ข…๋ฃŒ)