๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[Level 1] ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 9. 28.

 

 

Algorithm

-  ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ -

 


 

๋ฌธ์ œ

0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ ์ผ๋ถ€๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

 

numbers์—์„œ ์ฐพ์„ ์ˆ˜ ์—†๋Š” 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

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

numbers result
[1, 2, 3, 4, 6, 8, 0] 14
[5, 8, 4, 0, 6, 7, 9] 6

 

๋ฌธ์ œ ํ’€๊ธฐ


function solution(numbers) {
    let number = Array.from({length: 10}, (el, i) => i);
    for(let i = 0; i < numbers.length; i++) {
        number.splice(number.indexOf(numbers[i]), 1);
    }
    return number.reduce((past, curr) => past + curr, 0);
}

 

์ด๋ฒˆ ๋ฌธ์ œ๋Š” 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž์ค‘์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜ numbers๋ฐฐ์—ด์•ˆ์— ๋“ค์–ด์žˆ์ง€ ์•Š์€ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ์‹์ด์—ˆ๋Š”๋ฐ ๋‹ค์–‘ํ•œ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ ๋‚˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด ํŠน์ • ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด ์ž๋ฅด๋„๋ก ์„ค์ •ํ•ด ์ฃผ์—ˆ๋‹ค.

 

๋จผ์ € ๋ณ€์ˆ˜ number์— 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆ˜๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ์ค€ ๋‹ค์Œ์— ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ numbers์˜ ๊ฐ’๋“ค์ด ๋ฐฐ์—ด number์— ๋“ค์–ด์žˆ๋Š”์ง€ ์ธํ…์Šค๋ฅผ ์ฐพ์•„์„œ splice๋ฅผ ํ•ด ํŠน์ • ๊ฐ’๋งŒ ์ž˜๋ผ์ฃผ๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•ด ์ค€๋‹ค.

 

์ดํ›„์—๋Š” ๊ณ ์ฐจํ•จ์ˆ˜ reduce๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์•ˆ์— ๋‚จ์•„์žˆ๋Š” ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•ด์ฃผ๋ฉด ํ•จ์ˆ˜๊ฐ€ ์™„์„ฑ๋œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€