프로그래머스 - 짝지어 제거하기(java)
2023. 1. 18. 17:51ㆍ코딩테스트/프로그래머스
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12973
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제를 읽어보면 연속된 문자가 있으면 제거해준다고 나왔다. 이러한 문제는 자바에서 제공하는 Stack을 이용해서 풀면 편한다.
1. 문자열을 char형 배열로 만들어준다.
2. Stack을 이용하여 푼다.
나의 풀이
class Solution
{
public int solution(String s)
{
char[] chars = s.toCharArray();
Stack<Character> stack = new Stack<>();
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
// 스택이 비어있으면 푸쉬해준다.
if(stack.isEmpty()) stack.push(c);
else {
// 연속된 문자가 같은면 팝해준다.
if (stack.peek() == c) {
stack.pop();
} else {
stack.push(c);
}
}
}
return (stack.isEmpty())? 1 : 0;
}
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 구명보트(java) (0) | 2023.01.19 |
|---|---|
| 프로그래머스 영어 끝말잇기(java) (0) | 2023.01.19 |
| 프로그래머스 다음 큰 숫자 java (0) | 2023.01.12 |
| 프로그래머스 피보나치 수 (0) | 2023.01.11 |
| 프로그래머스 숫자의 표현 java (0) | 2023.01.11 |