https://www.acmicpc.net/problem/1406
1406번: 에디터
첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수
www.acmicpc.net
문제 풀이
left, right 라는 배열을 만들어 스택으로 사용하였다 커서의 왼쪽은 left 배열에 오른쪽은 right 배열에 push한다
이해를 돕기 위해 첫번째 입력 예제를 예시로 들면
1 첫 for 문을 통해 abcd 를 left에다 차례대로 푸쉬한다 - > [ a, b, c, d]
2 다음 P x가 나왔으니 left에 x를 푸쉬한다 -> [a, b, c, d, x]
3 다음 L이 나왔으니 left를 pop하고 그 반환 값을 right에 push 한다 - > left는 [a,b,c,d], right는 [x[이다
4 다음 P y 가 나왔으니 left 에 y 를 push 한다 -> left는 [a, b, c, d, y] , right는 [x] 이다.
5 마지막으로 while 문을 통해 right이 빈 배열이 될 때까지 right을 pop 하고 그 반환 값을 left에 push한다
'알고리즘 문제 풀이' 카테고리의 다른 글
프로그래머스[LEVEL2] - 캐시(2018 카카오 블라인드 코딩테스트) (0) | 2022.07.27 |
---|---|
알고리즘 - 유클리드 호제법 (0) | 2022.07.24 |
프로그래머스[LEVEL2] - 카펫 (0) | 2022.07.14 |
백준 1436 - 영화감독 숌 (0) | 2022.07.11 |
프로그래머스[LEVEL2] - JdenCase 문자열 만들기 (0) | 2022.07.04 |