ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ฐ์ต๋ฌธ์ > ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ
๐ฉ ๋ฌธ์ ์ค๋ช
ํ๋ฒ๊ฑฐ ๊ฐ๊ฒ์์ ์ผ์ ํ๋ ์์๋ ํ๋ฒ๊ฑฐ๋ฅผ ํฌ์ฅํ๋ ์ผ์ ํฉ๋๋ค. ํจ๊ป ์ผ์ ํ๋ ๋ค๋ฅธ ์ง์๋ค์ด ํ๋ฒ๊ฑฐ์ ๋ค์ด๊ฐ ์ฌ๋ฃ๋ฅผ ์กฐ๋ฆฌํด ์ฃผ๋ฉด ์กฐ๋ฆฌ๋ ์์๋๋ก ์์์ ์์ ์๋์๋ถํฐ ์๋ก ์์ด๊ฒ ๋๊ณ , ์์๋ ์์์ ๋ง๊ฒ ์์ฌ์ ์์ฑ๋ ํ๋ฒ๊ฑฐ๋ฅผ ๋ฐ๋ก ์ฎ๊ฒจ ํฌ์ฅ์ ํ๊ฒ ๋ฉ๋๋ค. ์์๊ฐ ์ผํ๋ ๊ฐ๊ฒ๋ ์ ํด์ง ์์(์๋์๋ถํฐ, ๋นต โ ์ผ์ฑ โ ๊ณ ๊ธฐ - ๋นต)๋ก ์์ธ ํ๋ฒ๊ฑฐ๋ง ํฌ์ฅ์ ํฉ๋๋ค. ์์๋ ์์ด ๊ต์ฅํ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ์์๊ฐ ํฌ์ฅํ๋ ๋์ ์ ์ฌ๋ฃ๊ฐ ์ถ๊ฐ์ ์ผ๋ก ๋ค์ด์ค๋ ์ผ์ ์์ผ๋ฉฐ, ์ฌ๋ฃ์ ๋์ด๋ ๋ฌด์ํ์ฌ ์ฌ๋ฃ๊ฐ ๋์ด ์์ฌ์ ์ผ์ด ํ๋ค์ด์ง๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์์ ์์ ์์ด๋ ์ฌ๋ฃ์ ์์๊ฐ [์ผ์ฑ, ๋นต, ๋นต, ์ผ์ฑ, ๊ณ ๊ธฐ, ๋นต, ์ผ์ฑ, ๊ณ ๊ธฐ, ๋นต]์ผ ๋, ์์๋ ์ฌ์ฏ ๋ฒ์งธ ์ฌ๋ฃ๊ฐ ์์์ ๋, ์ธ ๋ฒ์งธ ์ฌ๋ฃ๋ถํฐ ์ฌ์ฏ ๋ฒ์งธ ์ฌ๋ฃ๋ฅผ ์ด์ฉํ์ฌ ํ๋ฒ๊ฑฐ๋ฅผ ํฌ์ฅํ๊ณ , ์ํ ๋ฒ์งธ ์ฌ๋ฃ๊ฐ ์์์ ๋, ๋ ๋ฒ์งธ ์ฌ๋ฃ์ ์ผ๊ณฑ ๋ฒ์งธ ์ฌ๋ฃ๋ถํฐ ์ํ ๋ฒ์งธ ์ฌ๋ฃ๋ฅผ ์ด์ฉํ์ฌ ํ๋ฒ๊ฑฐ๋ฅผ ํฌ์ฅํฉ๋๋ค. ์ฆ, 2๊ฐ์ ํ๋ฒ๊ฑฐ๋ฅผ ํฌ์ฅํ๊ฒ ๋ฉ๋๋ค. ์์์๊ฒ ์ ํด์ง๋ ์ฌ๋ฃ์ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ ์ ๋ฐฐ์ด ingredient๊ฐ ์ฃผ์ด์ก์ ๋, ์์๊ฐ ํฌ์ฅํ๋ ํ๋ฒ๊ฑฐ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์์ค.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ 1 โค ingredient์ ๊ธธ์ด โค 1,000,000
โ ingredient์ ์์๋ 1, 2, 3 ์ค ํ๋์ ๊ฐ์ด๋ฉฐ, ์์๋๋ก ๋นต, ์ผ์ฑ, ๊ณ ๊ธฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(ingredient) {
let count = 0;
for(i=0; i<ingredient.length; i++){
if(ingredient[i] == 1){
if(ingredient[i+1] == 2){
if(ingredient[i+2] == 3){
if(ingredient[i+3] == 1){
ingredient.splice(i, 4);
count++;
i-=4;
}
}
}
}
}
// if(ingredient.splice(i, 4)==[1, 2, 3, 1])
return count;
}
์๋ ์ฃผ์์ฒ๋ผ slice()๋ splice() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค ํ์ผ๋ if๋ฌธ์ด ๋จน์ง ์๋ ์ด์ ๊ฐ ๋ญ๊น์. ๋ฐฐ์ด์ ์ทจ๊ธ ์ ํด์ฃผ๋์. ๊ทธ๋์ ๊ทธ๋ฅ if๋ฌธ์ผ๋ก ๋ ธ๊ฐ๋ค ์์ ์ ํ๋๋ฐ ์ ์๋ ์ ์ฃผ๋ค์.
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(ingredient) {
let count = 0;
for (let i = 0; i < ingredient.length; i++) {
if (ingredient.slice(i, i + 4).join('') === '1231') {
count++;
ingredient.splice(i, 4);
i -= 3;
}
}
return count;
}
join()์ ์ฌ์ฉํ ์๊ฐ์ ๋ชป ํ๋ค์.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํฐ์ผ๋ชฌ (3) | 2022.12.05 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ฐ (2) | 2022.12.04 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ ์ํธ (3) | 2022.12.01 |
ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (2) | 2022.11.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๊ณผ์ผ ์ฅ์ (2) | 2022.11.29 |
๋๊ธ