๋ฌธ์ ๋งํฌ
์ ๊ทผ๋ฐฉ๋ฒ
๋ฌธ์ ์์ฒด๋ ๋จ์ํ ํ์ฌ ๋ฐฐ์ด ์์์ ๋ค์ ๋ฐฐ์ด ์์๊ฐ ๊ฐ์ผ๋ฉด ๋๋ค ์ ๊ฑฐํ๊ณ (splice)
์ ๊ฑฐ๋ ๋ฐฐ์ด์ ๋ค์ ์ฒ์๋ถํฐ ๋น๊ตํ์ฌ ๊ณ์ํด์ ์ ๊ฑฐํ๋ ๊ฒ์ด๋ค.
b aa baa → bb aa → aa →
์ฒ์ ํ๋ฆฐ ๋ฌธ์ ๋ ์์ธํ ์๊ฐํด๋ณด๋ if(arr[i] === arr[i+1]) ์ผ๋๋ง๋ค ๊ณ์ํด์ ๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ์ผ๋ก ๋์๊ฐ ์ ์ฒด๋ฅผ ๋ค์ ์ํํ๋ค. n!์ด๋ผ๋ ๋งค์ฐ ๋นํจ์จ์ ์ธ ์ฝ๋์ด๋ค.
stack์ ์ฌ์ฉํ์ฌ for๋ฌธ์ ํ๋ฒ๋ง ์ํํ๋๋ก ์ฝ๋๋ฅผ ๋ฐ๊พธ์ด ํ์ดํ์๋ค.
์ฒ์ ํ๋ฆฐ ๋ฌธ์ ( ๋ต์ ๋ค ๋ง์๋ ์๊ฐ์ด๊ณผ๋ก ํต๊ณผํ์ง ๋ชปํจ)
function solution(s)
{
var answer = -1;
arr = s.split("");
for(let i = 0; i < arr.length; i++){
if(arr[i] === arr[i+1]){
arr.splice(i, 2);
i = -1;
}
}
answer = arr.length > 0 ? 0 : 1;
return answer;
}
stack์ ์ด์ฉํ์ฌ ๊ตฌํ ๋ต
function solution(s)
{
var arr = [];
for(var i=0; i<s.length; i++){
if(arr[arr.length-1] != s[i]){
arr.push(s[i]);
}else{
arr.pop();
}
}
answer = arr.length > 0 ? 0 : 1;
return answer;
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์์ฃผํ์ง ๋ชปํ ์ ์ (42576) (0) | 2022.05.03 |
---|---|
[Javascript] ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ (77485) (0) | 2022.05.02 |
[Javascript] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธ (81302) (0) | 2022.05.01 |
[Javascript] ํฐ์ผ๋ชฌ (1845) (0) | 2022.04.30 |
[Javascript] ๊ธฐ๋ฅ๊ฐ๋ฐ (42586) (0) | 2022.04.30 |