반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 싱글톤
- Java
- Singleton
- 플러터 동작
- 에러
- dart
- dfs
- 코틀린
- 앱아이콘 변경
- element tree
- Android
- 프로그래머스
- 비동기 처리
- 알고리즘
- IOS
- Kotlin
- Widget Tree
- Lazy
- 초기화
- 거리알고리즘
- zwj
- Render object tree
- linebreak
- 자바
- 자료구조
- 프리즈드
- 재귀
- flutter
- 완전탐색
- 플러터
Archives
- Today
- Total
모바일 개발하는 자바리안의 메모장
자바(JAVA) - 짝지어 제거하기(Programmers : 12973) 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/12973
오랜만에 다시 알고리즘 공부를 하니 감이 많이 죽었다.
스택으로 간단하게 풀 수 있는 문제였는데, 뭔가에 홀린듯 while 안에서 for loop을 돌리다가 효율성에서 좌절,,
Stack에 하나씩 넣으며 pair가 되는 타이밍에 pop을 해주며 마지막에 아무것도 남아있지 않으면 모두 제거되었음을 쉽게 알 수 있는 문제였다..
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = -1;
int len = s.length();
String str = s;
Stack<String> stack = new Stack<String>();
for(char ch : s.toCharArray()) {
String strChar = ch + "";
if(stack.isEmpty()) {
stack.push(strChar);
continue;
}
if(stack.peek().equals(strChar)) {
stack.pop();
} else {
stack.push(strChar);
}
}
return stack.isEmpty() ? 1 : 0;
}
}
반응형
'Java > Java.algorithm' 카테고리의 다른 글
자바(JAVA) - 단체사진 찍기(Programmers : 1835) (0) | 2022.03.13 |
---|---|
자바(JAVA) - 124 나라의 숫자(Programmers : 12899) (0) | 2022.03.13 |
자바(JAVA) - 부분합(백준 : 1806) (1) | 2021.06.15 |
자바(JAVA) - 가사검색(Programmers : 60060) (0) | 2021.06.10 |
자바(JAVA) - 문자열 압축(Programmers : 60057) (0) | 2021.06.10 |
Comments