Deep_Dev
article thumbnail

문제 μ„€λͺ…

μ–‘μ˜ μ •μˆ˜ xκ°€ ν•˜μƒ€λ“œ 수이렀면 x의 자릿수의 ν•©μœΌλ‘œ xκ°€ λ‚˜λˆ„μ–΄μ Έμ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 18의 자릿수 합은 1+8=9이고, 18은 9둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ―€λ‘œ 18은 ν•˜μƒ€λ“œ μˆ˜μž…λ‹ˆλ‹€. μžμ—°μˆ˜ xλ₯Ό μž…λ ₯λ°›μ•„ xκ°€ ν•˜μƒ€λ“œ μˆ˜μΈμ§€ μ•„λ‹Œμ§€ κ²€μ‚¬ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄μ£Όμ„Έμš”.

 

μ œν•œ 쑰건
  • xλŠ” 1 이상, 10000 μ΄ν•˜μΈ μ •μˆ˜μž…λ‹ˆλ‹€.

 

μž…μΆœλ ₯ 예
 
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은 ν•˜μƒ€λ“œ μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.

 


각 자릿수λ₯Ό λ”ν•˜κ³ , κ·Έ ν•©μœΌλ‘œ λ‹€μ‹œ λ‚˜λˆ„λŠ” κ³Όμ •λ™μ•ˆ μž…λ ₯받은 수 xκ°€ 2번 μ‚¬μš©ν•˜κ²Œ λ˜λ‹ˆ μƒˆλ‘œμš΄ λ³€μˆ˜ n에 xλ₯Ό λ„£μ–΄μ£Όκ³ 

각 자리수의 합을 κ΅¬ν•˜λŠ” λ°˜λ³΅λ¬Έμ„ μ΄μš©ν•˜μ—¬, xλ₯Ό sum으둜 λ‚˜λ‰˜μ–΄ return ν•΄μ£ΌλŠ” 방식을 μ΄μš©ν•˜μ—¬ ν’€μ—ˆλ‹€.


public boolean solution(int x) {
    boolean answer = true;
    int n=x;
    int sum=0;
    while(n>0){
        sum+=n%10;
        n/=10;
    }
    if(x%sum==0) return answer;
    else return false;
}