ν°μ€ν 리 λ·°
μκ³ λ¦¬μ¦/κΈ°μΆ λ° λ°±μ€ νμ΄
[νκ΅μ 보μ¬λ¦ΌνΌμλ]μ λ§λκΈ°
choi95 2021. 7. 14. 16:00λ¬Έμ
λ¬Έμ νμ΄
- μ¬λ κ΄νΈμΌ κ²½μ° μ€νμ κ³μ μ μ₯
- λ«λ κ΄νΈμΌ κ²½μ°μλ μμ μΈλ±μ€ μμμ λ°λΌ λ€λ₯Έ μ°μ° μν
- μμ μΈλ±μ€ μμκ° μ¬λ κ΄νΈμΌ κ²½μ°(λ μ΄μ )λ λ μ΄μ νμμ ν΄λΉνλ μ¬λ κ΄νΈλ₯Ό μ€νμμ μμ
- (μμ λ μ€νμ ν¬κΈ°) === (μ λ¨ λ μ λ§λκΈ° μ‘°κ°)
- μμ μΈλ±μ€ μμκ° λ«λ κ΄νΈμΌ κ²½μ°(μ λ§λκΈ° λλ¨)λ μ λ§λκΈ° μ€ κ°μ₯ μμ λ§λκΈ°μ μμλ¨μ μ€νμμ μμ
- μμ λ λ§λκΈ° λλ¨μ μ‘°κ° νλκ° λ¨μ μμ
μ½λ
function solution(p) {
let answer = 0;
let stack = [];
for (let i = 0; i < p.length; i++) {
if (p[i] === ")") {
if (p[i - 1] === "(") { // λ μ΄μ μΌ κ²½μ°
stack.pop(p[i - 1]);
answer += stack.length;
} else { //μ λ§λκΈ°μΌ κ²½μ°
stack.pop();
answer += 1; //μ λ§λκΈ°μ λ¨μ μ‘°κ°(λλ¨)μ κ°μ°
}
} else stack.push(p[i]);
}
return answer;
}
let pos = "()(((()())(())()))(())";
console.log(solution(pos));
function solution(s){
let answer=0;
let stack=[];
for(let i=0; i<s.length; i++){
if(s[i]==='(') stack.push('(');
else{
stack.pop();
if(s[i-1]==='(') answer+=stack.length;
else answer++;
//stack.pop(); μ΄ μμΉμ νλ©΄ λ μ΄μ κΉμ§ μΉ΄μ΄ν
νλ€.
}
}
return answer;
}
let a="()(((()())(())()))(())";
console.log(solution(a));
'μκ³ λ¦¬μ¦ > κΈ°μΆ λ° λ°±μ€ νμ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λκΈ