[SWEA] 1234 | [S/W 문제해결 기본] 10일차 - 비밀번호

Gaanii·2024년 11월 15일
0

Problem Solving

목록 보기
168/210
post-thumbnail

문제링크


1234 | [S/W 문제해결 기본] 10일차 - 비밀번호



풀이과정


stack을 이용하면 쉽게 풀리는 문제이다.

스택이 비어있으면 무조건 스택에 숫자를 삽입한다.
스택이 비어있지않으면 조건을 판별해서 스택을 pop하거나 push한다.

스택의 가장 위의 값과 현재 요소 값이 같다면 똑같은 숫자가 붙어있다는것이므로 pop을 하고,
두 개의 값이 같지 않다면 push해주면 된다.

코드


for tc in range(1, 11):
    N, messages = input().split()
    messages = list(messages)
    result = []

    for ele in messages:
        if len(result) == 0:
            result.append(ele)
        else:
            if result[-1] == ele:
                result.pop()
            else:
                result.append(ele)

    print(f'#{tc}', end = ' ')
    print(*result, sep = '')


결과


정답

0개의 댓글