๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ํ•˜์ƒค๋“œ ์ˆ˜

by _ํ† ๋งคํ†  2022. 11. 16.
728x90

๐Ÿ–ฑ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ํ•˜์ƒค๋“œ ์ˆ˜ ๐Ÿ–ฑ


๐Ÿ“– ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“–

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

๐Ÿงธ ์ œํ•œ ์‚ฌํ•ญ ๐Ÿงธ

x๋Š” 1 ์ด์ƒ, 10000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

function solution(x) {
    let sum =0;
    let arr = String(x).split("");

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

    return (x % sum === 0) ? true : false;
}

// ์ž…๋ ฅ๊ฐ’์ด 10์ผ ๋•Œ ๋ชจ๋“  ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์€ 1์ด๋‹ค. ํ•˜์ƒค๋“œ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์‹์— ๋Œ€์ž…ํ•ด๋ณด์•˜์„ ๋•Œ 10 / 1 == 0์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€๋ฏ€๋กœ true ๋ฐ˜ํ™˜์‹œํ‚จ๋‹ค.
// split :  String ๊ฐ์ฒด(๋ฌธ์ž์—ด)๋ฅผ ๊ตฌ๋ถ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆ„๊ณ  ๊ทธ ๊ฐ’์„ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜์‹œํ‚ต๋‹ˆ๋‹ค.

๐Ÿงธ ๋ฌธ์ œ ํ’€์ด ๐Ÿงธ

1. String()์„ ํ†ตํ•ด x๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ๊ทธ ๋’ค split()๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์”ฉ ์ชผ๊ฐœ์–ด์ค๋‹ˆ๋‹ค.
2. ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ž๋ฆฟ์ˆ˜ ๋งŒํผ ๋ฐ˜๋ณต ์‹œํ‚จํ›„ Number()๋กœ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.
3. sum ๋ณ€์ˆ˜์— ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’์„ ๋„ฃ์–ด์ค€ ํ›„ ์ด ํ•ฉ์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. (10์ด๋ฉด 1 + 0 ์ด๋ฏ€๋กœ 1)
4. ๋ฆฌํ„ด์œผ๋กœ ๋งŒ์•ฝ x์˜ ๊ฐ’์„ sum์˜ ๊ฐ’๋“ค๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋”ฑ ๋–จ์–ด์ง„๋‹ค๋ฉด ํ•˜์ƒค๋“œ ์ˆ˜ ์ด๋ฏ€๋กœ ture๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๊ฐ’์ด ์ƒ๊ธธ ๊ฒฝ์šฐ false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿงธ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ๐Ÿงธ

function Harshad(n){

    return !(n % (n + "").split("").reduce((a, b) => +b + +a ));
  }

ํ•œ ์ค„๋กœ ์งง๊ฒŒ ์ผ๋„ค์š”..! ๋” ๋ถ„๋ฐœํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค. ใ… ใ… 

728x90

๋Œ“๊ธ€


Lucky Charms Rainbow
js
html
css