ν‹°μŠ€ν† λ¦¬ λ·°

728x90

ν–μ‚¬λ“œ 수

 

문제 μ„€λͺ…

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

μ œν•œ 쑰건
  • xλŠ” 1 이상, 10000 μ΄ν•˜μΈ μ •μˆ˜μž…λ‹ˆλ‹€.
arr 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은 ν•˜μƒ€λ“œ μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.

function solution(x) {
    var answer
    var arr = String(x).split('');
    var sum = 0;
    
    for (let i = 0; i < arr.length; i++){
        sum += Number(arr[i]);
    }
    if ( x % sum === 0){
        answer = true;
    } else {
        answer = false;
    }
    return answer;
}

 λ³€μˆ˜ var answer, 숫자λ₯Ό 담을 var sum을 μ€€λΉ„ ν•΄λ‘”λ‹€. 

var arr = String(x).split('');

숫자λ₯Ό λ–¨μ–΄νŠΈλ €μ„œ 더해야 되기 λ•Œλ¬Έμ— λ¬Έμžμ—΄λ‘œ λ°”κΎΌ ν›„, λ„μ›Œμ€¬λ‹€.

for (let i = 0; i < arr.length; i++){
	sum += Number(arr[i]);
}

 arrλ₯Ό for문으둜 λŒλ €μ€€ λ‹€μŒ, λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•œ arrλ₯Ό 숫자둜 λ³€ν™˜ ν›„, sum에 λ„£μ–΄μ€€λ‹€. 

 

λ§ˆμ§€λ§‰μœΌλ‘œ, λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§ˆ 경우, true, μ•„λ‹ˆλ©΄ false둜 ꡬ별 ν•΄μ£Όλ©΄ 끝!

 

728x90
곡지사항
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
Β«   2025/07   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
κΈ€ 보관함