바로 이 전 글인
https://proprotrainee.tistory.com/156?category=1104458
[ BOJ / 파이썬 ] 5397 키로거
커서 움직이는 것에 대한 조작 문제이다. 쉬워보여서 덤볐다가 못 풀었다. 진짜 쓰렸는데, 다른 분들 풀이 보니까 접근법이 어느정도 유형화되어 있는 것 같고, 도저히 혼자서는 못 풀었을 것 같
proprotrainee.tistory.com
이 글의 문제와 비슷한 유형인 것 같아 바로 풀어봤다. 위의 문제는 스스로 풀어내지 못했다.
정말 약간 벅찬다.. 이게 바로 양치기의 승리를 암시하는 것 같아서 설레면서도 두려워졌다.
평소 같았으면 풀지 못 했을 것 같은 문제인데, 비슷한 유형을 풀고 와보니 어떻게 해야할 지 감이 잡혔다.
기분 너무 좋다.. 더 풀어 더 풀어 더 많이 풀자 ㅠㅜ 흑흑..
import sys
input = sys.stdin.readline
initString = input().strip()
t = int(input())
left = list(initString)
right = []
for i in range(t):
inputData = input().strip()
if inputData[0] == 'P':
p, x = inputData.split(" ")
left.append(x)
elif inputData == 'L':
if left:
right.append(left.pop())
elif inputData == 'D':
if right:
left.append(right.pop())
elif inputData == 'B':
if left:
left.pop()
print("".join(left) + "".join(reversed(right)))
덧붙이자면, 해당 문제는 프로그래밍할 때도 되게 유용하게 쓰일 것 같은 코딩구조라서 알고 간다는 사실이 더 좋은 것 같다.
'CodingTest > Baekjun Online Judge' 카테고리의 다른 글
[ BOJ / 파이썬 ] 10773 제로 (0) | 2022.08.13 |
---|---|
[ BOJ / 파이썬 ] 1158 요세푸스 문제 (0) | 2022.08.11 |
[ BOJ / 파이썬 ] 5397 키로거 (0) | 2022.08.11 |
[ BOJ / 파이썬 ] 3273 두 수의 합 (0) | 2022.08.11 |
[ BOJ / 파이썬 ] 1475 방 번호 (0) | 2022.08.11 |