-
44. 짝지어 제거하기코딩 테스트/Level 2 2020. 8. 27. 08:48반응형
https://programmers.co.kr/learn/courses/30/lessons/12973
짝지어 제거하기
2017 팁스타운
1809명 완료코딩테스트 연습 - 짝지어 제거하기
짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙
programmers.co.kr
괄호 짝 맞추기와 같죠? stack으로 쉽게 풀 수 있습니다.
파이썬
def solution(s): stack = [] for each in s: if stack and each == stack[-1]: stack.pop() else: stack.append(each) return 0 if stack else 1
자바
import java.util.ArrayList; class Solution { public int solution(String s) { var stack = new ArrayList<Character>(); for (var each : s.toCharArray()) { if (stack.size() > 0 && stack.get(stack.size() - 1) == each) stack.remove(stack.size() - 1); else stack.add(each); } return (stack.size() == 0) ? 1 : 0; } }
반응형