반응형
https://www.acmicpc.net/problem/27497
소스코드
풀이
★ 누르는 버튼에 따라 순서대로 들어오는 알파벳을 기록할 stack과 문자를 만드는 큐를 따로 만들어 풀이를 진행했습니다. 버튼 2의 경우에는 문자열의 앞에 알파벳을 추가해야 하고, 버튼 3을 눌렀을 경우 문자열의 앞에서 알파벳을 제거해야 하기 때문에 양방향 push, pop이 가능한 큐를 사용하였습니다.
★ 문자열에 추가될 때 해당 알파벳이 뒤에 추가된 것인지, 앞에 추가된 것인지를 판별하기 위해 구분을 위한 수 (1,2)와 함께 stack에 append해줍니다.
★ 3번 버튼을 눌렀을 때 스택 최상단에 있는 알파벳이 1을 가지고 있다면 큐 뒤에서 제거를, 2를 가지고 있다면 큐 앞에서 제거해줍니다 !
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준 알고리즘] 2193번: 이친수 (Python) (17) | 2023.08.16 |
---|---|
[백준 알고리즘] 25556번: 포스택 (Python) (4) | 2023.08.16 |
[백준 알고리즘] 3111번: 검열 (Python) (1) | 2023.08.14 |
[백준 알고리즘] 16496번: 큰 수 만들기 (Python) (0) | 2023.08.11 |
[백준 알고리즘] 9576번: 책 나눠주기 (Python) (0) | 2023.08.11 |