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

 

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

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

programmers.co.kr


내 풀이

def solution(s):
    answer =[]

    for i in range(len(s)):
        if s[i] in answer:
            if s[i]==answer[-1]:
                answer.pop()
            else:
                answer.append(s[i])
        else:
            answer.append(s[i])

    if len(answer) ==0:
        return 1
    else:
        return 0    

 


딱히 할말은 없고.. 보자마자 스택이 생각나서 스택으로 풀어본 문제이다.

다만 자꾸 list range 오류가 많이난다. 조심해야할거 같다.


다른사람의 풀이

 

def solution(s):
    answer = []
    for i in s:
        if not(answer):
            answer.append(i)
        else:
            if(answer[-1] == i):
                answer.pop()
            else:
                answer.append(i)    
    return not(answer)


 

'취준 > 프로그래머스' 카테고리의 다른 글

메뉴 리뉴얼 - 파이썬  (0) 2022.06.06
행렬 테두리 회전하기 - 파이썬  (0) 2022.06.06
더 맵게 - 파이썬  (0) 2022.06.01
기능개발 - 파이썬  (0) 2022.05.30
124 나라의 숫자 - 파이썬  (0) 2022.05.30

+ Recent posts