학습
시험

브라우저 뒤로가기

난이도
BEGINNER

문제 설명

비어있는 화면에서 시작하는 웹 브라우저에서 "방문", “뒤로 가기”, "현재 조회" 기능을 구현하려 합니다.
사용자가 이용한 동작 명령은 아래와 같은 형식으로 주어집니다.

동작 명령은 문자열 배열 commands로 주어지며, commands의 각 원소는 아래 셋 중 하나입니다.

명령 형식 동작
방문 "visit <URL>" <URL> 로 화면이 이동합니다.
뒤로 가기 "back" 브라우저 히스토리 상 이전의 <URL>로 화면이 이동합니다. 더 이전으로 이동할 수 없다면 명령이 무시됩니다.
현재 조회 "current" 현재 화면의 <URL>을 반환합니다. 현재 화면이 비어있는 초기화면이라면 "EMPTY"를 반환합니다.

동작 명령 commands가 주어질 때, "현재 조회" ("current") 명령마다의 반환 결과를 차례로 나열해 반환하는 solution 함수를 작성하시오.


제한 사항

  • commands의 길이는 1 이상 100,000 이하입니다.

  • commands의 명령은 "visit <URL>", "back", "current" 중 하나로만 주어집니다.

  • commands에는 최소 한 번의 "현재 조회" ("current") 명령이 주어집니다.


예시 테스트케이스 설명

테스트케이스 번호 commands return
1 ["visit www.daily.com","visit www.algo.com","current","back","visit www.algorithm.com","back","current","back","current"] ["www.algo.com","www.daily.com","EMPTY"]
2 ["current", "back", "visit www.dailyalgo.kr", "current","back","current"] ["EMPTY","www.dailyalgo.kr","EMPTY"]
3 ["visit www.hello.com", "back", "current", "back", "current"] ["EMPTY","EMPTY"]

1번 테스트케이스 설명

  • 웹 브라우저 탐색 과정은 아래와 같습니다.

    명령 브라우저 히스토리 현재 화면
    (초기) [] "EMPTY"
    visit www.daily.com ["www.daily.com"] "www.daily.com"
    visit www.algo.com ["www.daily.com","www.algo.com"] "www.algo.com"
    current ["www.daily.com","www.algo.com"] "www.algo.com"
    back ["www.daily.com"] "www.daily.com"
    visit www.algorithm.com ["www.daily.com","www.algorithm.com"] "www.algorithm.com"
    back ["www.daily.com"] "www.daily.com"
    current ["www.daily.com"] "www.daily.com"
    back [] "EMPTY"
    current [] "EMPTY"
  • 따라서 ["www.algo.com","www.daily.com","EMPTY"]를 반환합니다.

2번 테스트케이스 설명

  • 웹 브라우저 탐색 과정은 아래와 같습니다.

    명령 브라우저 히스토리 현재 화면
    (초기) [] "EMPTY"
    current [] "EMPTY"
    back [] "EMPTY"
    visit www.dailyalgo.kr ["www.dailyalgo.kr"] "www.dailyalgo.kr"
    current ["www.dailyalgo.kr"] "www.dailyalgo.kr"
    back [] "EMPTY"
    current [] "EMPTY"
  • 따라서 ["EMPTY","www.dailyalgo.kr","EMPTY"]를 반환합니다.

3번 테스트케이스 설명

  • 웹 브라우저 탐색 과정은 아래와 같습니다.

    명령 브라우저 히스토리 현재 화면
    (초기) [] "EMPTY"
    visit www.hello.com ["www.hello.com"] "www.hello.com"
    back [] "EMPTY"
    current [] "EMPTY"
    back [] "EMPTY"
    current [] "EMPTY"
  • 따라서 ["EMPTY","EMPTY"]를 반환합니다.