티스토리 뷰
1406번: 에디터
첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수
www.acmicpc.net
커서를 기준으로 left, right 스택을 두고 풀어야 한다.
코드 플러스 알고리즘 기초 강의를 수강하면서 문제를 풀고 있는데,
강의에서 스택문제라는 걸 알고 풀어서 나름 쉽게 풀렸는데
스택을 이용해야하는 문제라는 것을 아는 것이 중요한 것 같다.
import sys
sen = list(input()) # 입력 문자열
n = int(input()) # 명령어의 개수
cmds = []
for _ in range(n):
cmds.append(sys.stdin.readline().strip())
left, right = sen,[] # 커서를 기준으로 left, right 스택
for cmd in cmds:
if cmd == 'L':
if len(left) != 0:
right.append(left.pop())
elif cmd == 'D':
if len(right) != 0:
left.append(right.pop())
elif cmd == 'B':
if len(left) != 0:
left.pop()
else:
x = cmd[2]
left.append(x)
right = right[::-1] # right 스택 거꾸로 뒤집기
print(''.join(left) + ''.join(right))
'알고리즘, 코딩테스트 > BOJ 문제풀이' 카테고리의 다른 글
[BOJ 1541] 잃어버린 괄호 :: python 파이썬 (0) | 2022.04.24 |
---|---|
BOJ 10787번: 숨바꼭질6 [python] 코드와 풀이 - 여러 숫자의 최대공약수 (0) | 2021.02.11 |
[python] BOJ 백준 소수 관련 문제 - 1929, 6588 :: 소수구하기, 골드바흐의 추출 (0) | 2021.02.08 |
백준 BOJ 1158번 요세푸스 문제 [python] (0) | 2021.02.08 |
백준BOJ 입력받기 - python - input, split, map, try except, sys.stdin (0) | 2021.02.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 술자리병돌리기게임
- PYTHON
- 백준
- partyrock무료
- BOJ
- awsgenai
- genaiapp
- vscode easycode
- 파이썬
- 병돌리기구현
- React native 작동 원리
- 오블완
- 알고리즘
- SpacewBetween
- easycode chatGPT
- AWSBedrock
- partyrock
- S3배포
- partyrock사용볍
- aws생성형ai
- 티스토리챌린지
- ChatGPT
- partyrock생성
- easycode
- 정적 웹페이지 배포
- partyrock앱
- S3 403 forbidden
- 생성형AI
- 정적 웹사이트 배포
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함