ํ๋ก๊ทธ๋๋จธ์ค 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() ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๊ฐ์ ๊ฐ์ ๋ํด์ค ๋ฐฉ๋ฒ์
๋๋ค.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์? (3) | 2022.11.01 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ (1) | 2022.10.31 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํ๊ท ๊ตฌํ๊ธฐ (2) | 2022.10.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ์์ ํฉ (3) | 2022.10.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ง์์ ํ์ (3) | 2022.10.29 |
๋๊ธ