알고리즘 풀이/프로그래머스

[프로그래머스][Java] 쇠막대기

배게 2019. 3. 22. 01:41
728x90



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.*;

class Solution {
    public int solution(String arrangement) {
        String reArr = arrangement.replace("()","0");
        Stack<Character> st = new Stack<Character>();
        int answer = 0;

        for(int i=0; i<reArr.length(); i++){
            if(reArr.charAt(i) == '('){
                st.add(reArr.charAt(i));
            }
            else if(reArr.charAt(i) == '0'){
                answer+=st.size();
            }
            else if(reArr.charAt(i) == ')'){
                answer+=1;
                st.pop();
            }
        }

        return answer;
    }
}


참고 : https://medium.com/@nsh235482/java-coding-programmers-stack-queue-lv2-%EC%87%A0%EB%A7%89%EB%8C%80%EA%B8%B0-d3c482da3d98


https://developerdk.tistory.com/14