https://school.programmers.co.kr/learn/courses/30/lessons/12973
프로그램 제작자
코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.
Programmer.co.kr
문제 설명
쌍을 제거하려면 일련의 알파벳 소문자로 시작하십시오. 먼저 문자열에서 두 개의 동일한 문자 쌍을 찾으십시오. 그런 다음 두 개를 제거하고 문자열을 앞뒤로 연결합니다. 이 과정을 반복하여 모든 문자열을 제거하면 페어 제거가 완료됩니다. 문자열 S가 주어지면 페어링이 성공적으로 수행될 수 있는지 여부를 반환하는 함수를 완성하십시오. 성공하면 1을, 그렇지 않으면 0을 반환합니다.
예를 들어 문자열 S = 바바아 라면
비 아 바흐 → bb ㄱ → 아 →
이 순서대로 모든 문자열을 제거할 수 있으므로 1을 반환합니다.
제한
- 문자열 길이: 1,000,000 미만의 자연수
- 문자열은 모두 소문자입니다.
문제를 해결하다
def solution(s):
answer = -1
arr = ()
for i in s:
if not arr: #arr이 list가 아니라면
arr.append(i)
elif arr(-1) == i: #글자가 짝이 맞는다면
arr.pop()
else: #글자가 짝이 맞지 않는다면
arr.append(i)
if not arr:
return 1
else:
return 0
문제에 대한 해결책 설명
이것은 스택을 사용한 솔루션입니다. 먼저 파라미터의 문자를 한 번에 한 문자씩 접근하여 arr 스택에 삽입하고, 같은 문자가 입력되면 pop() 함수를 이용해 쌍으로 제거하도록 로직을 구성한다.
