κ°œμΈκ³΅λΆ€/Algorithm

[Level 1] ν•˜μƒ€λ“œ 수

πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 3. 29. 23:59

 

 

 

Algorithm

-  ν•˜μƒ€λ“œ 수 -

 


 

문제

μ–‘μ˜ μ •μˆ˜ xκ°€ ν•˜μƒ€λ“œ 수이렀면 x의 자릿수의 ν•©μœΌλ‘œ xκ°€ λ‚˜λˆ„μ–΄μ Έμ•Ό ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 18의 자릿수 합은 1+8=9이고, 18은 9둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ―€λ‘œ 18은 ν•˜μƒ€λ“œ μˆ˜μž…λ‹ˆλ‹€.

μžμ—°μˆ˜ xλ₯Ό μž…λ ₯λ°›μ•„ xκ°€ ν•˜μƒ€λ“œ μˆ˜μΈμ§€ μ•„λ‹Œμ§€ κ²€μ‚¬ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

arr return 
10 true
11 false

 

문제 ν’€κΈ°

 

이문제λ₯Ό 보자마자 κ³ μ°¨ν•¨μˆ˜λ“€μ„ μ°¨λ‘€μ°¨λ‘€ μ‚¬μš©ν•΄μ„œ 문제λ₯Ό ν•΄κ²°ν•΄ λ‚˜κ°€λ©΄ 쒋을 것 κ°™λ‹€λŠ” 생각을 ν•˜κ²Œλ˜μ—ˆμœΌλ©° 주석을 μž‘μ„±ν•΄ κ°€λ©΄μ„œ κ³ μ°¨ν•¨μˆ˜λ“€μ„ μž‘μ„±ν•΄ μ£Όμ—ˆλ‹€.

 

일단은 λ§€κ°œλ³€μˆ˜μ—μ„œ λ°›μ•„μ˜€λŠ” 숫자λ₯Ό μͺΌκ°œμ„œ 값을 더해야 ν–ˆκΈ° λ•Œλ¬Έμ— 일단은 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν›„ splitλ₯Ό μ‚¬μš©ν•΄ ν•˜λ‚˜μ”© μͺΌκ°œμ£Όμ—ˆλ‹€.

 

이후엔 λ‹€μ‹œ Number ν˜•μ‹μœΌλ‘œ λ°”κΏ”μ£Όκ³  reduceλ₯Ό μ‚¬μš©ν•΄ λͺ¨λ“  값듀을 λ”ν•΄μ„œ ν•˜λ‚˜λ‘œ λ§Œλ“€μ–΄ λͺ¨λ“  자릿수λ₯Ό λ”ν•œ 값을 sumμ΄λΌλŠ” λ³€μˆ˜μ•ˆμ— λ‹΄μ•„μ£Όμ—ˆλ‹€.

 

κ·Έλ‹€μŒμ—” λ§€κ°œλ³€μˆ˜μ˜ κ°’κ³Ό sum의 λ‚˜λ¨Έμ§€κ°€ 0인지 μ•„λ‹Œμ§€λ₯Ό 톡해 ν•˜μƒ€λ“œ 수 인지λ₯Ό νŒλ³„ν•  수 있게 ν•˜μ˜€λ‹€.

 

 

λ°˜μ‘ν˜•