Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ณธ๋ฌธ
๐ ๋ฌธ์
๊ดํธ๊ฐ ๋ฐ๋ฅด๊ฒ ์ง์ง์ด์ก๋ค๋ ๊ฒ์ '(' ๋ฌธ์๋ก ์ด๋ ธ์ผ๋ฉด ๋ฐ๋์ ์ง์ง์ด์ ')' ๋ฌธ์๋ก ๋ซํ์ผ ํ๋ค๋ ๋ป์ ๋๋ค. ์๋ฅผ ๋ค์ด
- "()()" ๋๋ "(())()" ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๋๋ค.
- ")()(" ๋๋ "(()(" ๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ์ ๋๋ค.
'(' ๋๋ ')' ๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฌธ์์ด s๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด๋ฉด true๋ฅผ return ํ๊ณ , ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ์ด๋ฉด false๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ
- ๋ฌธ์์ด s์ ๊ธธ์ด : 100,000 ์ดํ์ ์์ฐ์
- ๋ฌธ์์ด s๋ '(' ๋๋ ')' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๐ก ์์ด๋์ด
- ์คํ์ s ๋ฃ์ผ๋ฉด์ ()์ด๋ฉด pop์ผ๋ก ๋นผ์ฃผ๊ณ , ๋ง์ง๋ง์ ์คํ์ด ๋น์ด์์ผ๋ฉด true -> ํ ์คํธ์ผ์ด์ค ํต๊ณผ, ํจ์จ์ฑ ๋ฌธ์ ์คํจ
- s ๋๋ฉด์ '(' ์ด๋ฉด answer++ ํด์ฃผ๊ณ ')' ๋ง๋๋ฉด answer-- ํด์ค์ answer๊ฐ -๊ฐ ๋๋ ๋๊ฐ ์๋ค๋ฉด false ํด์ค๋ค.
(answer๊ฐ -๊ฐ ๋๋ ๊ฒฝ์ฐ๋ ')'๊ฐ์๊ฐ '(' ๊ฐ์๋ณด๋ค ๋ง๋ค๋ ๋ป)
answer๊ฐ 0 ์ด๋ฉด true, ์๋๋ฉด false
โ๏ธ ํ์ด
โฐ ํจ์จ์ฑ ๋ฌธ์ ์คํจ ์ฝ๋
function solution(s){
let arr = s.split('');
if(s.length === 1 || s[0] === ')') return false;
let stk = [];
for(let i of arr){
stk.push(i);
for(let j=0; j<stk.length; j++){
if(stk.length > 1){
if(stk[j] === '(' && stk[j+1] === ')'){
stk.pop();
stk.pop();
}
}
}
}
if(stk.length === 0) return true;
else return false;
}
โฐ ํต๊ณผ ์ฝ๋
function solution(s){
let answer = 0;
if(s.length === 1 || s[0] === ')') return false;
for(let i of s){
if(i === '(') answer++;
else {
answer--;
if(answer < 0) return false;
}
}
return !answer
}
๐จ ์ด ์ฝ๋๋ return๋ฌธ์ if(answer===0) return true / else false ์ด๋ ๊ฒ ์์ฑํ๋ฉด ํจ์จ์ฑ ํ ์คํธ2 ํต๊ณผ ๋ชปํจ..
ํจ์จ์ฑ ํ ์คํธ๊ฐ ์ด๋ค ์์ผ๋ก ๋์๊ฐ๋์ง ๋ชจ๋ฅด๊ฒ๋ค..
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ตฌ๋ช ๋ณดํธ (0) | 2023.02.17 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์นดํซ (0) | 2023.02.14 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํน์ดํ ์ ๋ ฌ (0) | 2023.02.06 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ฃผ์ ์ซ์ 3 (0) | 2023.02.06 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํญ์ ๋ํ๊ธฐ (0) | 2023.02.06 |