-
[Python] 백준 5397 키로거알고리즘/문제풀이 2021. 9. 28. 13:38728x90
1. 문제 링크
https://www.acmicpc.net/problem/5397
2. 문제 요약
비밀번호를 출력한다.
3. 아이디어 정리
- 그대로 구현해준다.
- < 인 경우 범위 확인하고 now - 1
- 인 경우 범위 확인하고 now + 1
- -인 경우 now 앞에 있는 수를 제거한다.
- 그 외는 비밀번호이기 때문에 현재 위치에 넣어준다.
4. 문제 풀이
4-1. 내 풀이
import sys from collections import deque for _ in range(int(sys.stdin.readline())): l = sys.stdin.readline().rstrip() result = deque() now = 0 for c in l: if c == '<': if now > 0: now -= 1 elif c == '>': if len(result) > now: now += 1 elif c == '-': if result and now >= 1: del result[now - 1] now -= 1 else: result.insert(now, c) now += 1 print(''.join(result))
5. 결론
- 덱을 이용한다.
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Python] Programmers 위클리 8주차 최소직사각형 (0) 2021.10.05 [Python] 백준 2812 크게 만들기 (0) 2021.09.28 [Python] Programmers 프린터 (0) 2021.09.28 [Python] Programmers 기능개발 (0) 2021.09.28 [Python] 백준 12904 A와 B (0) 2021.09.18