[프로그래머스] 쇠막대기
2020. 3. 31. 15:46ㆍ프로그래머스/LEVEL 2
import java.util.*;
class Solution {
public int solution(String arrangement) {
int answer = 0;
Stack<Character> bracket = new Stack<>();
for(int i=0; i<arrangement.length(); i++){
if(arrangement.charAt(i) == '('){
bracket.push('(');
}
else{
if(arrangement.charAt(i-1)==')' && i!=0){
answer++;
bracket.pop();
}
else{
bracket.pop();
answer += bracket.size();
}
}
}
return answer;
}
}
스택/큐 영역에 있어서 위와같이 풀었지만 변수하나로 푸는게 훨씬 빨랐다. (아래는 그냥 변수로 푼것)
class Solution {
public int solution(String arrangement) {
int answer = 0;
int count = 0;
for(int i=0; i<arrangement.length(); i++){
if(arrangement.charAt(i)=='('){
count ++;
}else{
if(arrangement.charAt(i-1)==')' && i !=0){
answer ++;
count --;
}else{
count --;
answer += count;
}
}
}
return answer;
}
}
'프로그래머스 > LEVEL 2' 카테고리의 다른 글
[프로그래머스] 카펫 (0) | 2020.03.31 |
---|---|
[프로그래머스] 라면공장 (0) | 2020.03.31 |
[프로그래머스] 다리를 지나는 트럭 (0) | 2020.03.30 |
[프로그래머스] 최솟값 만들기 (0) | 2020.03.28 |
[프로그래머스] 최댓값과 최솟값 (0) | 2020.03.28 |