public int solution(String arrangement) {
int answer = 0;
String temp = arrangement.replace("()", "0");
Stack s = new Stack<Character>();
for(int i=0;i<temp.length();i++) {
char t = temp.charAt(i);
if(t=='(') {
s.push(t);
}
else if(t=='0') {
answer+=s.size();
}
else if(t==')') {
answer++;
s.pop();
}
}
System.out.println(answer);
return answer;
}
1.()인 경우절단하기 때문에 알아보기 쉽게 '()'를 '0'으로 교체
2.0이 나오면 그전에 쌓아오던 '(' 의 개수를 다 더해주고 ')' 이 나오면 1만 더해주고 팝
'IT > 알고리즘' 카테고리의 다른 글
프로그래머스 lv2 프린터 (0) | 2019.11.19 |
---|---|
프로그래머스 lv2 다리를 지나는 트럭 (0) | 2019.11.16 |
프로그래머스 스킬트리(java) (0) | 2019.11.11 |
프로그래머스 Lv2 주식가격 (0) | 2019.10.28 |
백준 퇴사 문제 (0) | 2019.09.26 |