
처음 풀었던 방식은 while 과 for 문 등의 2중 반복문으로 하였으나 시간초과가 떠서 stack 을 이용한 풀이를 생각해보고 풀어보았다.
Stack 이라는 자료구조가 얼른 익숙해져서바로 나와야 할텐데 걱정이 크다.
import java.util.*;
class p짝지어제거하기
{
public int solution(String s)
{
char[] arr = s.toCharArray();
Stack<Character> st = new Stack<>();
for(int i = 0 ; i < s.length() ; i++){
char c = arr[i];
if(st.isEmpty()) st.push(c);
else{
if(st.peek()==c) st.pop();
else st.push(c);
}
}
return st.isEmpty()?1:0;
}
}
Stack
- pop()
- push()
- peek()
String
- toCharArray()
'Algorithm & Data Structures > Programers' 카테고리의 다른 글
Lv 2. N개의 최소공배수 (0) | 2024.04.19 |
---|---|
Lv 2. 카펫 (0) | 2024.04.18 |
Lv 2. 다음 큰 숫자 (0) | 2024.04.15 |
Lv 2. 피보나치 수 (0) | 2024.04.10 |
Lv 2. 이진변환 반복하기 (0) | 2024.04.09 |