RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R00126

컴베이어 벨트

Silver IV 실버 IV
난이도
1s
시간 제한
256MB
메모리 제한
1
맞았습니다!!
1
제출 수
100.0%
정답률
레이팅

의견: 0

설명

공장의 컴베이어 벨트 위에 \(1\)번부터 \(N\)번까지의 상자가 순서대로 한 줄로 놓여 있다. 벨트는 양쪽으로 회전할 수 있으며, 다음 세 가지 명령을 처리한다.

  • L : 벨트를 왼쪽으로 한 칸 회전한다. 즉 맨 앞의 상자가 맨 뒤로 이동한다.
  • R : 벨트를 오른쪽으로 한 칸 회전한다. 즉 맨 뒤의 상자가 맨 앞으로 이동한다.
  • P : 맨 앞에 있는 상자를 꺼낸다(벨트에서 제거된다).

주어진 명령을 순서대로 모두 수행할 때, P 명령으로 꺼낸 상자의 번호를 꺼낸 순서대로 출력하여라.

제약
  • \(1 \le N \le 100\,000\)
  • \(1 \le Q \le 100\,000\)
  • P 명령의 개수는 \(N\) 이하
입력 형식

첫째 줄에 상자의 개수 \(N\)과 명령의 개수 \(Q\)가 공백으로 구분되어 주어진다.

둘째 줄에 \(Q\)개의 명령이 공백 없이 한 문자열로 주어진다. 각 문자는 L, R, P 중 하나이다. P 명령의 개수는 \(N\)을 넘지 않는다.

출력 형식

P 명령으로 꺼낸 상자의 번호를 꺼낸 순서대로 공백으로 구분하여 한 줄에 출력한다. 꺼낸 상자가 하나도 없으면 빈 줄을 출력한다.

예제 1
입력
5 5
LLPRP
출력
3 2
설명

L 두 번으로 3이 맨 앞에 오고 P로 3을 꺼낸 뒤, R로 회전 후 P로 다음 상자를 꺼낸다.

예제 2
입력
3 3
PPP
출력
1 2 3
설명

회전 없이 앞에서부터 세 상자를 차례로 꺼내므로 1 2 3이 출력된다.

힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

컴베이어 벨트

개요
출제자 난이도 Silver IV 실버 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

컴베이어 벨트

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8