Python3/프로그래머스
2022.06.07 [프로그래머스] (python 파이썬) 짝지어 제거하기
ian's coding
2022. 6. 7. 19:09
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/12973
코딩테스트 연습 - 짝지어 제거하기
짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙
programmers.co.kr
풀이
이 문제는 스택구조형식으로 문제를 해결했다.
먼저 문자열 s의 문자를 for문으로 하나씩 이전값과 비교하는데 만약 arr배열이 비어있다면 해당 값을 arr배열에 추가해주고 배열이 비어있지않다면 가장 최근에 들어왔던 문자와 비교해 같으면 해당 문자를 배열에서 제거하는 방식으로 문제를 해결했다.
만약 모두 짝이 지어진다면 arr배열이 마지막엔 비어있어야하기 때문에 비어있다면 1, 비어있지않다면 0을 answer에 저장했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def solution(s):
answer = -1
arr=[]
for i in s:
if not arr or arr[-1]!=i:
arr.append(i)
else:
arr.pop(-1)
if not arr:
answer=1
else:
answer=0
return answer
|
cs |
728x90
반응형