Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

9시 24분

프로그래머스 - 짝지어 제거하기 본문

알고리즘

프로그래머스 - 짝지어 제거하기

leeeee.yeon 2021. 9. 7. 21:02

https://programmers.co.kr/learn/courses/30/lessons/12973

 

코딩테스트 연습 - 짝지어 제거하기

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙

programmers.co.kr


def solution(s):
    answer = -1
    stack = [0]

    for i in range(len(s)):
        top = stack[-1]

        if(top == s[i]):
            stack.pop()

        else:
            stack.append(s[i])

    stack.remove(0)

    if not stack:
        answer = 1
    else:
        answer = 0

    return answer

 

스택을 활용하여 문제를 풀었다.

 

파이썬에서는 스택 관련 라이브러리가 특별히 없고, 기본 자료형인 리스트를 사용하여 스택을 구현한다.

  • 삽입과 삭제 - append, pop 이용
  • top - stack[-1]
  • if not list를 사용하여 스택이 비었는지 확인

 


참고

'알고리즘' 카테고리의 다른 글

백준 1003번: 피보나치 함수  (0) 2022.01.07
백준 1463번: 1로 만들기  (0) 2022.01.07
최대공약수를 구하는 3가지 방법  (0) 2021.06.25
DFS/BFS  (0) 2021.06.25
구현  (0) 2021.06.21