본문 바로가기
백준 문제풀이

백준 6051번: 시간 여행

by daehee 2022. 10. 10.

https://www.acmicpc.net/problem/6051

 

6051번: 시간 여행

모범생 현수는 코딩하는 시간을 늘리기 위해 타임 머신을 구매 했다. 현수는 정상적으로 문제를 코딩하거나 (타임 머신을 사용하지 않고), 과거의 임의의 지점으로 시간여행 할 수 있다.  미

www.acmicpc.net

map을 이용해서 각 쿼리별 목록을 저장하고 불러온다.

#include <bits/stdc++.h>
using namespace std;

int n, k;
char order;
map<int, vector<int>> m;
vector<int> v;

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);

  cin >> n;
  m[0] = v;

  for (int i = 1; i <= n; i++) {
    cin >> order;
    if (order == 'a') {
      cin >> k;
      v.push_back(k);
    } else if (order == 's') {
      v.pop_back();
    } else if (order == 't') {
      cin >> k;
      v = m[k - 1];
    }
    m[i] = v;
    if (v.size() == 0)
      cout << "-1\n";
    else
      cout << v.back() << "\n";
  }
}

'백준 문제풀이' 카테고리의 다른 글

백준 22115번: 창영이와 커피  (0) 2022.10.10
백준 7682번: 틱택토  (0) 2022.10.06
백준 19576번: 약수  (0) 2022.10.06
백준 1389번: 케빈 베이컨의 6단계 법칙  (0) 2022.08.09
백준 5464번: 주차장  (0) 2022.08.06