๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ํ•˜์ƒค๋“œ ์ˆ˜
Algorithms/Programmers

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ํ•˜์ƒค๋“œ ์ˆ˜

2022. 5. 14. 17:59
๋ฐ˜์‘ํ˜•

 

 

Question

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ•˜์ƒค๋“œ ์ˆ˜

์–‘์˜ ์ •์ˆ˜ x๊ฐ€ ํ•˜์ƒค๋“œ ์ˆ˜์ด๋ ค๋ฉด x์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์œผ๋กœ x๊ฐ€ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 18์˜ ์ž๋ฆฟ์ˆ˜ ํ•ฉ์€ 1+8=9์ด๊ณ , 18์€ 9๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฏ€๋กœ 18์€ ํ•˜์ƒค๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ x๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ x๊ฐ€ ํ•˜

programmers.co.kr

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

 


 

My Code

 

 

์ฒ˜์Œ ํ’€์—ˆ๋˜ ๋ฐฉ๋ฒ•

function solution(x) {
    let num = String(x);
    let result = 0;
    for (let i = 0 ;  i < num.length ; i ++) {
        result += Number(num[i]);
    }
    return x % result === 0 ? true : false ;
}

 

 

 

HOW? (ํ’€์ด๋ฐฉ๋ฒ•)

 

for๋ฌธ์„ ์ด์šฉํ•œ ํ’€์ด

  1. ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜์˜ ์ž๋ฆฌ๋งˆ๋‹ค ์žˆ๋Š” ์ˆ˜๋ฅผ ๋”ํ•˜๊ธฐ ์œ„ํ•ด string์œผ๋กœ ์ˆซ์ž๋ฅผ ๋ณ€ํ™˜ํ–ˆ๋‹ค.
  2. for๋ฌธ์„ ์ด์šฉํ•ด ์ž๋ฆฟ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ธ๋‹ค.
  3. ๋ณ€์ˆ˜ result์— ๊ฐ ์ž๋ฆฟ์ˆ˜์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ํ”Œ๋Ÿฌ์Šคํ–ˆ๋‹ค.
  4. ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž์™€ ๋”ํ•ด์ง„ ์ˆซ์ž์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜๋ˆ  ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š”์ง€์— ์—ฌ๋ถ€์— ๋”ฐ๋ผ true์™€ false๋ฅผ return ํ•˜๋„๋ก ํ–ˆ๋‹ค.

 

 

 

 

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ค ๋ณด๋‹ˆ method๋ฅผ ํ™œ์šฉํ•ด ํ‘ธ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

split์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์ƒ๊ฐ ๋ชปํ–ˆ๋‹ค. ๐Ÿคท‍โ™‚๏ธ

function solution(x) {
    let num = (x+'').split('').map(Number).reduce((a,b) => a + b);
    return x % num === 0 ;
}

 

 

HOW? (ํ’€์ด๋ฐฉ๋ฒ•)

 

method๋ฅผ ํ™œ์šฉํ•œ ํ’€์ด

  1. ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
  2. split์„ ์ด์šฉํ•ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  map์„ ์ด์šฉํ•ด string์œผ๋กœ ๋˜์–ด์žˆ๋Š” ๋ฐฐ์—ด๊ฐ’์„ number๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
  3. reduce๋ฅผ ํ†ตํ•ด ๊ฐ ์ž๋ฆฟ์ˆ˜์— ๋”ํ•˜๊ธฐ๋ฅผ ํ•ด์ค€๋‹ค.
  4. ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž์™€ ๋”ํ•ด์ง„ ๊ฒฐ๊ด๊ฐ’์— ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋ฉด true๋ฅผ ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithms > Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ฒด์œก๋ณต  (0) 2022.05.19
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ  (0) 2022.05.17
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ฝœ๋ผ์ธ  ์ถ”์ธก  (0) 2022.05.13
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์•ฝ์ˆ˜์˜ ํ•ฉ  (0) 2022.05.04
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ง์ˆ˜์™€ ํ™€์ˆ˜  (0) 2022.04.11
    'Algorithms/Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ฒด์œก๋ณต
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ฝœ๋ผ์ธ  ์ถ”์ธก
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์•ฝ์ˆ˜์˜ ํ•ฉ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”