알맹이방
[프로그래머스] 쇠막대기 - java 본문
import java.util.ArrayList;
class Solution {
public int solution(String arrangement) {
int answer = 0;
//()(((()())(())()))(())
//()레이저구분
//1(((11)(1)1))(1)
//1을 만나면 그 앞에 ( 갯수 세기, 막대기의 앞부분
// ) 만나면 +1 해주기 , 막대기의 뒷부분
arrangement = arrangement.replace("()","1");
ArrayList<Character> copy = new ArrayList<Character>();
for(int i = 0; i<arrangement.length(); i++){
copy.add(arrangement.charAt(i));
}
ArrayList<Character> stk = new ArrayList<Character>();
for(int i = 0 ; i< copy.size(); i++){
if(copy.get(i)=='('){ //""아닌 ''사용하기 -> 오류의 이유
stk.add('(');
}
else if(copy.get(i)==')'){
stk.remove(stk.size()-1);
answer++;
}
else if(copy.get(i)=='1'){
answer+=stk.size();
}
}
return answer;
}
}
'알고리즘 > [2020] 프로그래머스' 카테고리의 다른 글
[프로그래머스] 프린터 - java (0) | 2020.04.15 |
---|---|
내가 보려고 올리는 정리 (0) | 2020.04.15 |
[프로그래머스] K번째수 - java (0) | 2020.04.13 |
[프로그래머스] 다리를 지나는 트럭 - java (0) | 2020.04.13 |
[프로그래머스] 주식가격 - java (2) | 2020.04.12 |
Comments