브라우저 탭 전환
의견: 0
웹 브라우저는 여러 개의 탭을 한 줄로 늘어놓고 관리한다. 항상 최소 한 개의 탭이 열려 있으며, 그중 정확히 하나의 탭에 초점(focus) 이 맞춰져 있다.
탭에는 만들어진 순서대로 번호가 붙는다. 가장 처음 열려 있는 탭의 번호는 \(1\) 이고, \(k\) 번째로 새로 만들어진 탭의 번호는 \(k\) 이다. 처음에는 번호 \(1\) 인 탭 하나만 열려 있고, 그 탭에 초점이 맞춰져 있다.
브라우저는 다음 세 가지 명령을 순서대로 처리한다.
OPEN: 현재 초점이 맞춰진 탭의 바로 오른쪽에 새 탭을 하나 연다. 새 탭은 아직 사용되지 않은 가장 작은 번호를 받으며, 새로 연 탭으로 초점이 옮겨간다.CLOSE: 현재 초점이 맞춰진 탭을 닫는다. 닫은 뒤에는 그 오른쪽에 있던 탭으로 초점이 옮겨간다. 만약 닫은 탭이 가장 오른쪽 탭이었다면, 대신 그 왼쪽에 있던 탭으로 초점이 옮겨간다. 탭이 하나만 남아 있을 때CLOSE명령이 주어지는 경우는 없다.TAB: (Ctrl+Tab) 현재 초점이 맞춰진 탭의 바로 오른쪽 탭으로 초점을 옮긴다. 현재 초점이 가장 오른쪽 탭에 있다면, 초점은 가장 왼쪽 탭으로 순환하여 옮겨간다.
모든 명령을 처리한 뒤, 왼쪽에서 오른쪽 순서대로 탭들의 번호를 출력하고 어느 탭에 초점이 맞춰져 있는지 표시하여라.
\(0 \le M \le 200{,}000\)
각 명령은 OPEN, CLOSE, TAB 중 하나이다.
탭이 하나만 남아 있을 때 CLOSE 명령이 주어지는 경우는 없다.
첫째 줄에 명령의 개수 \(M\) (\(0 \le M \le 200{,}000\)) 이 주어진다.
다음 \(M\) 개의 줄에 각각 명령이 하나씩 주어진다. 각 명령은 OPEN, CLOSE, TAB 중 하나이다.
탭이 하나만 남아 있을 때 CLOSE 명령이 주어지는 경우는 없다.
한 줄에, 모든 명령을 처리한 뒤 남아 있는 탭들의 번호를 왼쪽에서 오른쪽 순서대로 공백으로 구분하여 출력한다. 단, 초점이 맞춰진 탭의 번호는 대괄호로 감싸 [번호] 형태로 출력한다.
5
OPEN
OPEN
TAB
OPEN
CLOSE
1 [2] 3
[1]
OPEN → 1 [2]
OPEN → 1 2 [3]
TAB → [1] 2 3 (가장 오른쪽이었으므로 가장 왼쪽으로 순환)
OPEN → 1 [4] 2 3
CLOSE → 1 [2] 3 (오른쪽 탭으로 초점 이동)
2
OPEN
CLOSE
[1]
[1]
OPEN → 1 [2]
CLOSE → [1] (가장 오른쪽 탭을 닫았으므로 초점이 왼쪽으로 이동)
riseoj 작성
출처 Original
평가 및 의견
브라우저 탭 전환
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
브라우저 탭 전환