๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

by ์ฝ”ํŒŒ์นด 2022. 10. 30.
728x90

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > ์—ฐ์Šต๋ฌธ์ œ > ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ


๐Ÿ’ฉ ๋ฌธ์ œ ์„ค๋ช…

์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด, N์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”.
์˜ˆ๋ฅผ ๋“ค์–ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’ฉ ์ œํ•œ ์กฐ๊ฑด

โ˜๏ธ N์˜ ๋ฒ”์œ„ : 100,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜

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

function solution(n){
    let answer = '';
    answer += n
    let sum = 0;
    for (i=0; i<answer.length; i++){
        sum += parseFloat(answer.charAt(i));
    }
    return sum;
}

๋ฌธ์ž์—ด answer์˜ ํŠน์ • ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” charAt() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋ญฃ๋„ ๋ชจ๋ฅด๊ณ  parseFloat() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, parseFloat()์€ ์‹ค์ˆ˜๊นŒ์ง€ ๋ณ€ํ™˜ํ•˜๊ณ , parseInt()์€ ์ •์ˆ˜๊นŒ์ง€ ๋ณ€ํ™˜ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ฌดํŠผ ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค, ๋ชจ๋‘ ๋”ํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฉ ๋‹ค๋ฅธ ํ’€์ด

function solution(n){
    return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}

๋ฌธ์ œ๋ฅผ ๋‹ค ํ’€๊ณ  ๋‚˜์„œ, ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ์†Œ์Šค๋ฅผ ๋งˆ์ฃผํ•˜๋‹ˆ ์•ฝ๊ฐ„ ์ž๊ดด๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์—์„œ (n+"")๋Š” ์ˆซ์ž n์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. String(n)๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„, ๋ฌธ์ž์—ด n์„ ์ชผ๊ฐœ์ฃผ๊ณ , reduce() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ ๊ฐ’์„ ๋”ํ•ด์ค€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

728x90

๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ™

CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘