링크텍스트
비밀번호 창에서 입력한 키가 주어졌을 때, 비밀번호를 알아내는 프로그램을 작성하시오. 키보드로 입력한 키는 알파벳 대문자, 소문자, 숫자, 백스페이스, 화살표이다.
오늘의 자료구조 주제는 Linked List이지만 스택이 먼저 떠올라 스택으로 구현하였다.
n = int(input())
for _ in range(n):
pw_input = input()
pw_answer = [] # 스택
temp = [] # 스택
for word in pw_input:
if word == "<":
if pw_answer:
temp.append(pw_answer.pop())
elif word == ">"
if temp:
pw_answer.append(temp.pop())
elif word: "-" # 백스페이스
if pw_answer:
pw_answer.pop()
else: # 정상적인 단어
pw_answer.append(word)
print(''.join(pw_answer),''.join(temp[::-1],sep="")
그림으로 그리면서 구현하면 쉽게 이해 가능하다.