๊ด€๋ฆฌ ๋ฉ”๋‰ด

Daehyunii's Dev-blog

์ ์ˆ˜ ๊ณ„์‚ฐ(1,2์ฐจ์› ํƒ์ƒ‰) ๋ณธ๋ฌธ

๐Ÿ“š Language & CS knowledge/Algorithm (๊ธฐ์ดˆ๋ฌธ์ œํ’€์ด)

์ ์ˆ˜ ๊ณ„์‚ฐ(1,2์ฐจ์› ํƒ์ƒ‰)

Daehyunii 2022. 8. 31. 23:49

๋ฌธ์ œ(์ถœ์ฒ˜ : ์ธํ”„๋Ÿฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ๊ฐ•์˜, ์ •๋ณด์˜ฌ๋ฆผํ”ผ์•„๋“œ)

OX ๋ฌธ์ œ๋Š” ๋งž๊ฑฐ๋‚˜ ํ‹€๋ฆฐ ๋‘ ๊ฒฝ์šฐ์˜ ๋‹ต์„ ๊ฐ€์ง€๋Š” ๋ฌธ์ œ๋ฅผ ๋งํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ OX ๋ฌธ์ œ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹œํ—˜์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‹ต์„ ๋งžํžˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์‚ฐ์ ์„ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์ˆ˜ ๊ณ„์‚ฐ์„ ํ•˜๊ธฐ ๋กœ ํ•˜์˜€๋‹ค. 1๋ฒˆ ๋ฌธ์ œ๊ฐ€ ๋งž๋Š” ๊ฒฝ์šฐ์—๋Š” 1์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ์•ž์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ต์„ ํ‹€๋ฆฌ๋‹ค๊ฐ€ ๋‹ต์ด ๋งž๋Š” ์ฒ˜์Œ ๋ฌธ์ œ๋Š” 1์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ๋˜ํ•œ, ์—ฐ์†์œผ๋กœ ๋ฌธ์ œ์˜ ๋‹ต์ด ๋งž๋Š” ๊ฒฝ์šฐ์—์„œ ๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” 2์ , ์„ธ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” 3์ , ..., K๋ฒˆ์งธ ๋ฌธ์ œ๋Š” K์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ํ‹€๋ฆฐ ๋ฌธ์ œ๋Š” 0์ ์œผ๋กœ ๊ณ„ ์‚ฐํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์ด 10 ๊ฐœ์˜ OX ๋ฌธ์ œ์—์„œ ๋‹ต์ด ๋งž์€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ์—๋Š” 1๋กœ ํ‘œ์‹œํ•˜๊ณ , ํ‹€๋ฆฐ ๊ฒฝ ์šฐ์—๋Š” 0์œผ๋กœ ํ‘œ์‹œํ•˜์˜€์„ ๋•Œ, ์ ์ˆ˜ ๊ณ„์‚ฐ์€ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ๊ณ„์‚ฐ๋˜์–ด, ์ด ์ ์ˆ˜๋Š” 1+1+2+3+1+2=10 ์ ์ด๋‹ค.

1011100110

์ฑ„์  >     1 0 1 1 1 0 0 1 1 0
์ ์ˆ˜>      1 0 1 2 3 0 0 1 2 0

์‹œํ—˜๋ฌธ์ œ์˜ ์ฑ„์  ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ ๋ฌธ์ œ์˜ ์ฑ„์  ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ ํƒ€๋‚ด๋Š” 0 ํ˜น์€ 1์ด ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋ฌธ์ œ์˜ ๋‹ต์ด ํ‹€๋ฆฐ ๊ฒฝ์šฐ์ด๊ณ , 1์€ ๋ฌธ์ œ์˜ ๋‹ต์ด ๋งž๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

 

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์—์„œ ์ฃผ์–ด์ง„ ์ฑ„์  ๊ฒฐ๊ณผ์— ๋Œ€ํ•˜์—ฌ ๊ฐ€์‚ฐ์ ์„ ๊ณ ๋ คํ•œ ์ด ์ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ

1
10 1011100110

 

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ 1

10

 

Tip

1) result ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  0์„ ํ• ๋‹น(let result = 0;)

2) ์—ฐ์†๋œ ์ •๋‹ต์˜ ์ ์ˆ˜๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด count ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  0์„ ํ• ๋‹น(let count = 0;)

3) ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค์„œ ๋งŒ์•ฝ x๊ฐ€ 1์ด๋ฉด count๋ฅผ 1์˜ฌ๋ฆฌ๊ณ , count์˜ ๊ฐ’์„ result์— ๋”ํ•œ๋‹ค.(์ฆ‰,count์˜ ๊ฐ’์„ ์ ์ˆ˜๋กœ ํ™œ์šฉํ•œ๋‹ค.)

4) ๋งŒ์•ฝ x๊ฐ€ 1์ด ์•„๋‹ˆ๋ผ๋ฉด, count๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

 

๋ฌธ์ œํ’€์ด

//๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋‹ต(๋‹ต์ง€ ๋ณด๊ณ  ํžŒํŠธ ์–ป์–ด์„œ ์ž‘์„ฑํ•จ)
function solution(nums){
    let result = 0;
    let count = 0;
    for(let x of nums){
        if(x === 1){
            count++;  // <<<<์ด๊ฒŒ ํ•ต์‹ฌ์ž„ ์นด์šดํŠธ๋ฅผ ์˜ฌ๋ ค์„œ ๊ฒฐ๊ณผ์— ๋”ํ•จ!
            result += count;
        }else{
            count = 0;
        }
    }
    return result;
}

let array=[1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
console.log(solution(array));