반응형
12-24 00:25
- Today
- Total
Link
개발하는 고라니
[Programmers] 짝지어 제거하기 본문
반응형
[문자열, Stack]
Stack 자료구조를 간단하게 배열로 만들어 사용하였다. 컬렉션에 비해 가볍고 사용법도 어렵지 않으므로 개인적으로 좋다고 생각한다.
주어진 문자열 s를 char[]로 변환하고, 한 문자씩 스택에 넣는다. 단, 넣기 전에 이미 스택에 들어간 맨 위의 문자와 비교를하고, 같다면 push를 하지않고 스택에 있는 것을 하나 빼고(pop), 같지 않다면 push한다.
짝지어 제거하기를 완료할 수 있는지에 관한 조건은 stack의 top이 원점(-1) 이라면 True, 아니면 False이다.
코드가 간결하므로 이해하는데 어려움이 있지 않을 것 같다.
# Code </>
class Solution
{
static int top = -1;
static char[] stack = new char[1000000];
static void push(char c){ stack[++top] = c; }
static char peek(){ return stack[top]; }
public int solution(String s)
{
for(char c : s.toCharArray())
if(top > -1 && peek() == c)
top--;
else
push(c);
return top == -1? 1 : 0;
}
}
반응형
'Programming > 프로그래머스' 카테고리의 다른 글
[Programmers] 카카오프렌즈 컬러링북 (0) | 2021.05.12 |
---|---|
[Programmers] 오픈채팅방 (0) | 2021.05.11 |
[Programmers] 문자열 압축 (0) | 2021.05.11 |
[Programmers] 124 나라의 숫자 (0) | 2021.05.10 |
[Programmers] 순위 (0) | 2021.03.28 |
Comments