커서 움직이는 것에 대한 조작 문제이다.
쉬워보여서 덤볐다가 못 풀었다. 진짜 쓰렸는데, 다른 분들 풀이 보니까 접근법이 어느정도 유형화되어 있는 것 같고, 도저히 혼자서는 못 풀었을 것 같은 느낌이라 잘 후퇴했다 싶었다. 비슷한 문제도 있는 것 같으니 다음에 비슷한 방식으로 출제되었을 때 풀어내기만 하면 된다.
https://tturbo0824.tistory.com/23
백준 파이썬 5397번: 키로거
https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1
tturbo0824.tistory.com
이 분이 친절하게 유사 유형까지 첨부해주셨다.
import sys
input = sys.stdin.readline
t = int(input())
for i in range(t):
left = []
right = []
l = input().strip()
for x in l:
if x == ">":
if right:
left.append(right.pop())
elif x == "<":
if left:
right.append(left.pop())
elif x == "-":
if left:
left.pop()
else:
left.append(x)
print("".join(left) + "".join(reversed(right)))
: 참고로 위의 문제에서 l을 받을 때 strip을 안 해주면 틀렸다고 결과가 나온다.
: 구조화하면 이해하는 건 어렵지 않지만 아이디어를 떠올리는 게 쉽지 않은 문제인 것 같다.
'CodingTest > Baekjun Online Judge' 카테고리의 다른 글
[ BOJ / 파이썬 ] 1158 요세푸스 문제 (0) | 2022.08.11 |
---|---|
[ BOJ / 파이썬 ] 1406 에디터 (0) | 2022.08.11 |
[ BOJ / 파이썬 ] 3273 두 수의 합 (0) | 2022.08.11 |
[ BOJ / 파이썬 ] 1475 방 번호 (0) | 2022.08.11 |
[ BOJ / 파이썬 ] 2577 숫자의 개수 (0) | 2022.08.11 |