#40
책 페이지 넘기기
채점 준비중
시간 제한
2000ms
메모리 제한
256MB
제출
43
정답
18
맞힌 사람
18
정답 비율
41.9%

준식이는 책을 읽으려고 한다. 책은 표지를 포함해 N 개의 종이로 이루어져 있고, i 번째 종이에는 앞뒤로 알파벳 S_i 가 적혀있다. 준식이는 현재 펼친 페이지에서 왼쪽 페이지나 오른쪽 페이지로 이동할 수 있다.

위 그림은 abcde 로 이루어진 책의 1 번째 페이지(a)와 2 번째 페이지(b)를 펼쳐 놓은 상태에서 오른쪽으로 페이지로 넘어간 상황이다. 이제 2 번째 페이지(b)와 3 번째 페이지(c)가 보인다.

준식이는 책을 펼쳐 놓은 상태에서 보이는 왼쪽 페이지나 오른쪽 페이지를 찢어서 떼어낼 수도 있다. 단, 표지는 튼튼하기 때문에 떼어낼 수 없다.

위 그림은 전 그림의 상황에서 오른쪽 페이지(c)를 찢어서 떼어낸 상황이다.

책의 각 페이지에 적힌 알파벳과 준식이의 행동이 주어질 때 행동이 모두 끝난 후 보이는 두 페이지를 구해보자.

입력

첫째 줄에 책의 각 페이지에 적힌 알파벳들이 주어진다. 책의 페이지 개수 N100,000 이하의 양의 정수이다.

초기 상태에서 보이는 페이지는 첫 번째 페이지와 두 번째 페이지이다. 위 그림을 참고한다.

둘째 줄에 준식이의 행동의 개수 M (1 ≤ M ≤ 100,000) 이 주어진다.

셋째 줄부터 M 개의 줄에 준식이의 행동이 주어진다. 준식이의 행동은 다음 중 하나이다.

  • move left : 왼쪽 페이지로 넘어간다. 만약 왼쪽에 보이는 페이지가 표지라면 아무 행동도 하지 않는다.
  • move right : 오른쪽 페이지로 넘어간다. 만약 오른쪽에 보이는 페이지가 표지라면 아무 행동도 하지 않는다.
  • tear left : 왼쪽 페이지를 찢어서 떼어낸다. 만약 왼쪽에 보이는 페이지가 표지라면 아무 행동도 하지 않는다.
  • tear right : 오른쪽 페이지를 찢어서 떼어낸다. 만약 오른쪽에 보이는 페이지가 표지라면 아무 행동도 하지 않는다.

출력

준식이의 행동이 모두 끝난 후에 보이는 두 페이지에 적혀있는 알파벳을 출력한다.

예제 입력 1

abcde
2
move right
tear right

예제 출력 1

b d

예제 입력 2

abcde
6
move right
move right
move right
tear right
tear right
tear right

예제 출력 2

d e

예제 입력 3

abcde
8
move right
move right
move right
move left
move left
tear right
tear right
tear right

예제 출력 3

b e

참고사항

스택을 두 개 사용해서 왼쪽에 보이는 페이지와 오른쪽에 보이는 페이지를 저장하면 페이지를 넘어가는 것과 페이지를 떼어내는 것을 쉽게 구현할 수 있다.

코드 제출
로딩 중...
내 제출
아직 제출 내역이 없습니다.
맞은 사람
순위사용자언어시간메모리코드 길이
🥇202104340_김재덕C71ms1004KB772B
🥈202102659_안우진Python386ms11264KB645B
🥉202402751_한현욱Python431ms11392KB820B
4202102700_정민용Python617ms19072KB1588B
5202401828_백성현Python747ms12544KB420B
6202102553_윤서웅Java751ms40648KB1153B
7202102622_김우솔Java820ms52584KB1663B
8202002511_송준원Java821ms52836KB1074B
9202202658_황현석Java852ms43932KB1278B
10202102717_최성윤Java920ms47276KB1125B
11202202596_배인수Java933ms52248KB1106B
12202102713_진민혁Java1028ms65812KB1452B
13202302521_강정우Java1322ms41868KB1504B
14202302618_정준혁Java1402ms95296KB1262B
15202302602_이준휘Java6693ms108040KB930B
16202102683_이인성Java6811ms109564KB1519B
17202102675_이문영Java6817ms114852KB1217B
18202402748_한가현Java7057ms118364KB1266B
전체 제출
#사용자결과언어시간메모리코드 길이제출 시간
4001202302564_성준혁시간 초과Java8734ms115940KB1769B2024. 05. 25. 11:08
4000202302564_성준혁시간 초과Java8613ms116572KB1823B2024. 05. 25. 11:07
3999202302564_성준혁런타임 에러Java7820ms117696KB1515B2024. 05. 25. 10:13
3440202402748_한가현정답Java7057ms118364KB1266B2024. 05. 07. 14:01
3439202102675_이문영정답Java6817ms114852KB1217B2024. 05. 07. 12:38
3438202102675_이문영런타임 에러Java842ms46228KB1379B2024. 05. 07. 12:28
3437202102675_이문영컴파일 에러Java--1372B2024. 05. 07. 12:27
3436202102675_이문영컴파일 에러Java--1372B2024. 05. 07. 12:27
3434202402664_김지후런타임 에러Java723ms42752KB1517B2024. 05. 07. 11:46
3433202402751_한현욱정답Python431ms11392KB820B2024. 05. 07. 11:43
3422202401828_백성현정답Python747ms12544KB420B2024. 05. 07. 11:35
3421202401828_백성현오답Python755ms12556KB430B2024. 05. 07. 11:34
3413202401828_백성현오답Python728ms12672KB420B2024. 05. 07. 11:29
3356202102622_김우솔정답Java820ms52584KB1663B2024. 05. 07. 10:23
3355202102659_안우진정답Python386ms11264KB645B2024. 05. 07. 10:22
3353202102659_안우진오답Python437ms12672KB674B2024. 05. 07. 10:21
3339202102683_이인성정답Java6811ms109564KB1519B2024. 05. 07. 09:06
3334202002511_송준원정답Java821ms52836KB1074B2024. 05. 07. 08:03
3333202002511_송준원오답Java848ms52844KB1212B2024. 05. 07. 07:56
3324202102717_최성윤정답Java920ms47276KB1125B2024. 05. 07. 07:36
1 / 3