문제 설명
비어있는 화면에서 시작하는 웹 브라우저에서 "방문", “뒤로 가기”, "현재 조회" 기능을 구현하려 합니다.
사용자가 이용한 동작 명령은 아래와 같은 형식으로 주어집니다.
동작 명령은 문자열 배열 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"]를 반환합니다.