Problem Solution/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JS] ์ˆจ์–ด์žˆ๋Š” ์ˆซ์ž์˜ ๋ง์…ˆ (1)

yuri lee 2023. 9. 11. 23:34
๋ฐ˜์‘ํ˜•

Problem Description

๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. my_string์•ˆ์˜ ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋“ค์˜ ํ•ฉ์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

Restrictions

  • 1 ≤ my_string์˜ ๊ธธ์ด ≤ 1,000
  • my_string์€ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž ๊ทธ๋ฆฌ๊ณ  ํ•œ์ž๋ฆฌ ์ž์—ฐ์ˆ˜๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

 

Input/Output Example

  • ์ž…์ถœ๋ ฅ ์˜ˆ # "aAb1B2cC34oOp"์•ˆ์˜ ํ•œ์ž๋ฆฌ ์ž์—ฐ์ˆ˜๋Š” 1, 2, 3, 4 ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1 + 2 + 3 + 4 = 10 ์„ returnํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2 "1a2b3c4d123Z"์•ˆ์˜ ํ•œ์ž๋ฆฌ ์ž์—ฐ์ˆ˜๋Š” 1, 2, 3, 4, 1, 2, 3 ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ  1 + 2 + 3 + 4 + 1 + 2 + 3 = 16 ์„ returnํ•ฉ๋‹ˆ๋‹ค.

 

My solution

function solution(my_string) {
    const result = my_string.split("").map((x) => parseInt(x))
    return (result.filter((x) => !Number.isNaN(x))).reduce((a,b) => a+b, 0);
}

 

Another solutions

function solution(my_string) {
    const answer = my_string.replace(/[^0-9]/g, '')
                            .split('')
                            .reduce((acc, curr) => acc + Number(curr), 0);
    return answer;
}
function solution(my_string) {
    return [...my_string].reduce((acc,cur)=>Number(cur) ? +acc + +cur : acc, 0)
}

https://school.programmers.co.kr/learn/courses/30/lessons/120851

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๋ฐ˜์‘ํ˜•