[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] Lv1. ν•˜μƒ€λ“œ 수

2022. 9. 29. 17:02γ†μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅/ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€_2022

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

 

 

λ‚˜μ˜ 풀이

x의 각 자리수의 값을 λͺ¨λ‘ λ”ν•œ 값을 x에 λ‚˜λˆ΄μ„ λ•Œ λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λŠ” 지 λ¬»λŠ” λ¬Έμ œλ‘œμ„œ 

x % 10 을 톡해 각 자리 수 값을 sum에 더해주고, while문을 λ°˜λ³΅ν•΄μ€€λ‹€. 

 

그리고 μ΄λ•Œ x의 값이 계속 쀄기 λ•Œλ¬Έμ— y λ³€μˆ˜μ— x 의 값을 볡사해둔 λ‹€μŒμ— 

y %  sum == 0 인지 ν™•μΈν•΄μ„œ λ‚˜λˆ λ–¨μ–΄μ§€λ©΄ true, μ•„λ‹ˆλ©΄ false λ₯Ό 리턴해쀀닀. 

 

 

 

λ‹€λ₯Έ μ‚¬λžŒ 풀이

λ‹€λ₯Έ μ‚¬λžŒ 풀이λ₯Ό λ³΄λ‹ˆκΉŒ String으둜 num 값을 문자둜 λ³€ν™˜ν•΄μ„œ 이 값을 split으둜 μͺΌκ°œ 각각의 자리수λ₯Ό 또 Integer둜 λ³€ν™˜ν•΄μ„œ λ”ν•˜κ³  μžˆλ‹€..

이 방법은 νš¨μœ¨μ„± ν…ŒμŠ€νŠΈμ—μ„œ 보면 속도도 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜κ³ , 숫자둜 λ³€ν™˜ν•˜λŠ” μž‘μ—…μ΄ λ“€μ–΄κ°€μ„œ 느릴 것이고 μ½”λ“œ λ˜ν•œ λ‚΄κ°€ ν‘Ό 방식이 더 κ°„κ²°ν•˜λ‹€κ³  생각은 ν•œλ‹€..

 

또 λ‹€λ₯Έ 풀이가 μžˆλ‹€λ©΄ 좔가해둬야겠닀!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90