다희의 코딩 성장일기
[프로그래머스] level2. 짝지어 제거하기 (자바 JAVA) 본문
[ 문제 ] [프로그래머스] level2. 짝지어 제거하기 (자바 JAVA)
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12973
# 접근 방법 및 풀이
- 보자마자 스택으로 풀면 되겠다고 생각했다.
- 스택이 비어있으면 문자를 넣고, 스택이 비어있지 않다면 스택의 꼭대기 값과 현재 문자를 비교해서 같으면 pop, 다르면 add해주었다.
- String s의 문자 전체를 다 탐색한 후, 스택에 값이 남아있다면 짝을 짓지 못한 문자들이 남아있기 때문에 실패고, 그게 아니라면 성공이다.
- 자세한건 코드참조
# 주의할 점
- 딱히 없음
JAVA 코드
import java.util.*;
class Solution
{
public int solution(String s)
{
if(s.length() == 1)
return 0;
Stack<Character> stack = new Stack<>();
char arr[] = s.toCharArray();
for(int i = 0; i < arr.length; i++){
if(stack.isEmpty()){
stack.add(arr[i]);
}else{
if(stack.peek() == arr[i])
stack.pop();
else
stack.add(arr[i]);
}
}
if(!stack.isEmpty())
return 0;
return 1;
}
}
REVIEW
확실히 연도가 오래된 문제들은 금방 풀린다. 지금 코테 수준은 어마무시하게 올라갔지만..
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] level2. 삼각 달팽이 (자바 JAVA) (0) | 2021.08.29 |
---|---|
[프로그래머스] level2. 행렬 테두리 회전하기 (자바 JAVA) (0) | 2021.08.29 |
[프로그래머스] level2. 피보나치 수 (자바 JAVA) (0) | 2021.08.27 |
[프로그래머스] level2. JadenCase 문자열 만들기 (자바 JAVA) (0) | 2021.08.27 |
[프로그래머스] level2. [1차] 뉴스 클러스터링 (자바 JAVA) (0) | 2021.08.27 |
Comments