본문 바로가기

코테

[프로그래머스] <짝지어 제거하기> 파이썬

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

 

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

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

programmers.co.kr

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

정확성 테스트

테스트 1 통과 (0.00ms, 10.2MB)
테스트 2 통과 (7.72ms, 11.7MB)
테스트 3 통과 (10.75ms, 12MB)
테스트 4 통과 (9.71ms, 12.1MB)
테스트 5 통과 (12.01ms, 12.1MB)
테스트 6 통과 (9.72ms, 12.1MB)
테스트 7 통과 (10.66ms, 12.1MB)
테스트 8 통과 (11.43ms, 12.1MB)
테스트 9 통과 (0.00ms, 10.2MB)
테스트 10 통과 (0.02ms, 10.2MB)
테스트 11 통과 (0.01ms, 10.2MB)
테스트 12 통과 (0.01ms, 10.3MB)
테스트 13 통과 (0.01ms, 10.2MB)

효율성 테스트

테스트 1 통과 (91.13ms, 31.7MB)
테스트 2 통과 (72.32ms, 26.3MB)
테스트 3 통과 (97.00ms, 27.8MB)
테스트 4 통과 (89.69ms, 27.9MB)
테스트 5 통과 (91.54ms, 27.9MB)
테스트 6 통과 (90.20ms, 27.8MB)
테스트 7 통과 (91.39ms, 27.8MB)
테스트 8 통과 (92.57ms, 30.3MB)

채점 결과

정확성: 60.2

효율성: 39.8

합계: 100.0 / 100.0