https://school.programmers.co.kr/learn/courses/30/lessons/12973
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
저는 스택을 이용해 문제를 해결하였습니다.
스택을 통해 이전의 문자를 저장하고 현재 문자와 스택의 맨 위에 있는 값과 같다면 빼주고 같지 않다면 스택에 넣어주었습니다.
마지막으로 스택이 비어있는지를 판단하고 결과를 리턴하였습니다.
import java.util.*;
class Solution {
private static final int SUCCESS = 1;
private static final int FAIL = 0;
public int solution(String s) {
Deque<Character> stack = new LinkedList<>();
for(int i = 0 ; i < s.length() ; i++){
char now = s.charAt(i);
if(!stack.isEmpty() && stack.peekFirst() == now){
stack.pop();
continue;
}
stack.push(now);
}
if(stack.isEmpty()){
return SUCCESS;
}
return FAIL;
}
}
'알고리즘' 카테고리의 다른 글
백준 27497번 알파벳 블록 (JAVA) (0) | 2023.07.22 |
---|---|
프로그래머스 2xn타일링 (JAVA) (0) | 2023.07.21 |
프로그래머스 두 큐 합 같게 만들기(JAVA) (0) | 2023.07.19 |
프로그래머스 연속된 부분 수열의 합 (JAVA) (0) | 2023.07.18 |
프로그래머스 완주하지 못한 선수 (JAVA) (0) | 2023.07.17 |