문제 : https://programmers.co.kr/learn/courses/30/lessons/12973
문제유형 : 구현
풀이방식 : 스택
- 문자열의 길이 : 1,000,000이하의 자연수 이기때문에 for문을 사용하게되면 시간초과가 나온다.
소스코드
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = -1;
int sLength = s.length();
Stack<Character> stack = new Stack<>();
stack.push(s.charAt(0));
for(int i=1; i<sLength; i++){
char nowChar = s.charAt(i);
if(stack.empty()){
stack.push(nowChar);
}else{
if(stack.peek()==nowChar){
stack.pop();
} else {
stack.push(nowChar);
}
}
}
if(stack.size()==0){
answer = 1;
}else {
answer = 0;
}
System.out.println(stack.size());
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[JAVA]프로그래머스_기능개발 (0) | 2021.08.03 |
---|---|
[JAVA]프로그래머스_올바른 괄호 (0) | 2021.07.30 |
[JAVA]프로그래머스_스킬트리 (0) | 2021.04.06 |
[JAVA]프로그래머스_프린터 (0) | 2021.04.06 |
[MySQL]프로그래머스_우유와요거트가 담긴 장바구니 (0) | 2020.08.28 |