๋ฌธ์ ๋งํฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฌ๋ฐ๋ฅธ ๊ดํธ
๊ดํธ๊ฐ ๋ฐ๋ฅด๊ฒ ์ง์ง์ด์ก๋ค๋ ๊ฒ์ '(' ๋ฌธ์๋ก ์ด๋ ธ์ผ๋ฉด ๋ฐ๋์ ์ง์ง์ด์ ')' ๋ฌธ์๋ก ๋ซํ์ผ ํ๋ค๋ ๋ป์ ๋๋ค. ์๋ฅผ ๋ค์ด "()()" ๋๋ "(())()" ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๋๋ค. ")()(" ๋๋ "(()(" ๋ ์ฌ๋ฐ๋ฅด์ง ์์
programmers.co.kr
์ ๊ทผ ๋ฐฉ๋ฒ
๋ฌธ์์ด๋ก ์ฃผ์ด์ง ๊ดํธ๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ธ์ง ํ๋จํ๋ ๋ฌธ์ ์ด๋ค.
[ "(())()" : ์ฌ๋ฐ๋ฅธ ๊ดํธ , "))((" : ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ , "((())" : ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ ]
left๊ดํธ, right๊ดํธ์ ๊ฐ์๋ฅผ ์ฐพ์์ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ์๋ค.
์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋ ๊ฒฝ์ฐ
๊ฒฝ์ฐ 1. right๊ดํธ๋ถํฐ ์์ํ ๋ => ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋๋ค.
๊ฒฝ์ฐ 2. left๊ดํธ๋ณด๋ค right๊ดํธ๊ฐ ํฐ ๊ฒฝ์ฐ => ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋๋ค.
๊ฒฝ์ฐ 3. ์ต์ข ์ ์ผ๋ก left๊ดํธ์ ์์ right๊ดํธ์ ์๊ฐ ๋ค๋ฅผ ๋ => ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋๋ค.
์ด ์ธ์ ๋ชจ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด๋ค.
function solution(s){
var answer = false;
let leftBracketCnt = 0;
let rightBracketCnt = 0;
for(let i = 0; i < s.length ; i++){
if(s[0] !== "(") return false;
if(s[i] === "(") leftBracketCnt += 1;
else if(s[i] === ")") rightBracketCnt += 1;
if(leftBracketCnt < rightBracketCnt) return false;
}
leftBracketCnt === rightBracketCnt ? answer = true : answer = false;
return answer;
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ (12905) (0) | 2022.06.22 |
---|---|
[Javascript] ์ด์ง ๋ณํ ๋ฐ๋ณต (70129) (0) | 2022.06.20 |
[Javascript] ๋ค์ ํฐ ์ซ์ (12911) (0) | 2022.06.18 |
[Javascript] ์คํฌํธ๋ฆฌ (49993) (0) | 2022.06.18 |
[Javascript] ์ซ์ ๋ธ๋ก (12923) (0) | 2022.06.15 |