1. 문제링크
https://programmers.co.kr/learn/courses/30/lessons/12973
코딩테스트 연습 - 짝지어 제거하기
짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙
programmers.co.kr
2. 접근방법
짝이 되면 지우고 아니면 그전까지 쌓여있는? 퍼즐 같은 느낌이다
뿌요뿌요를 아는가? 뿌요뿌요 게임이다
뿌요뿌요는 스택입니다 스택으로 만나면 지우고 아니면 넘어가고를 반복해서 스택사이즈가 0이라면?!
다 지워진 것이다!
3. 코드
import java.util.Stack;
class Solution
{
public int solution(String s) {
int answer = -1;
Stack<Character> stack = new Stack<>();
stack.add(s.charAt(0));
for (int i = 1; i < s.length(); i++) {
if(!stack.isEmpty() && stack.peek() == s.charAt(i)) {
stack.pop();
} else
stack.add(s.charAt(i));
}
if(stack.isEmpty())
return 1;
else
return 0;
}
}
4. 마치며
스택에 조금 익숙해진거 같다.
기분이 좋다.
'알고리즘' 카테고리의 다른 글
프로그래머스 : 메뉴 리뉴얼 (Java) (0) | 2021.05.24 |
---|---|
프로그래머스 : 게임 맵 최단거리 (Java) (0) | 2021.05.22 |
프로그래머스 : 서울에서 김서방 찾기 (Java) (0) | 2021.05.20 |
프로그래머스 : 오픈채팅방 (Java) (0) | 2021.05.18 |
프로그래머스 : 기능개발 (Java, Javascript) (0) | 2021.05.18 |