programmers.co.kr/learn/courses/30/lessons/12973?language=java
Stack 자료구조를 활용하여 구현하였습니다.
해결 방안
문자열의 문자들을 Stack에 넣어주면서 stack.peek()이 넣으려는 문자와 같으면 pop()해주고 아니면 push()해준다.
다 끝난 후 stack이 비어있으면 성공적으로 수행하였으므로 1, 비어있지 않으면 0을 반환해준다.
코드
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = 0;
char[] sChar = s.toCharArray();
Stack<Character> stack = new Stack<>();
for(int i=0; i<s.length(); i++){
if(!stack.isEmpty() && stack.peek()==sChar[i]){
stack.pop();
}
else{
stack.push(sChar[i]);
}
}
if(stack.isEmpty())
answer = 1;
else
answer = 0;
return answer;
}
}
'Old > Algorithms' 카테고리의 다른 글
[JAVA] 백준 2252번 : 줄 세우기 (위상정렬) (0) | 2020.09.25 |
---|---|
[JAVA] 백준 7576번 : 토마토 (BFS) (0) | 2020.09.24 |
[JAVA] 백준 15970번 : 화살표 그리기(한국정보올림피아드/KOI 2018/초등부) (0) | 2020.09.22 |
[JAVA] 백준 17609번 : 회문(한국정보올림피아드/KOI 2019 1차대회/초등부) (2) | 2020.09.21 |
[JAVA] 백준 17608번 : 막대기(한국정보올림피아드/KOI 2019 1차대회/초등부) (0) | 2020.09.21 |