본문 바로가기
알고리즘 풀이/SW Expert Academy

[SWEA 1234] 비밀번호(python)

by char_lie 2023. 2. 13.
반응형

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14_DEKAJcCFAYD 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

비밀번호 문제

스텍 개념을 이해하고 조금만 활용하면 쉽게 해결할 수 있는 문제!

100% 내 생각으로 풀었는가?
→ O

내가 푼 정답코드

for case in range(1, 11):
    N, M = input().split()
    x = list(M)
    stack = []
    for i in x: # 비밀번호에 대해
        if len(stack) == 0: # 스텍의 길이가 0이면
            stack.append(i) # 스택에 추가
        else:
            if stack[-1] == i: # 스택의 마지막 요소와 현재 x의 값이 같으면
                stack.pop() # 스택의 마지막 요소 제거
            else:
                stack.append(i) # 마지막과 다르면 스택에 추가
    print(f'#{case}',' ',*stack,sep='')

정말 간단한 스택 개념만 알면 쉽게 접근 가능한 문제여서 큰 어려움 없이 쉽게 풀어냈다


느낀점

사실 이전엔 스택에 대한 개념이 없어서 (push, pop만 아는 수준) 이걸 문제를 풀면서 활용해야지라는 생각 자체를 못해봤는데, 오늘 수업듣고나서 몇몇 문제에 대해 활용해보니 스택에 대한 개념도 잘 잡혀서 좋은거 같고, 너무 어려운 문제가 아니다 보니 접근하기도 좋았던 문제라고 생각한다

더 어려운 문제가 나오면 어떻게 접근하게 될진 모르겠지만, 스택 기초 활용은 어느 정도 사용 가능한 수준까지 올라왔다!

반응형

댓글