아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

앨범정리

시간 제한2초메모리 제한512 MB

요약
앨범 트리에서 추가, 삭제, 사진 삽입, 이동 명령을 처리하며 각 명령마다 삭제된 앨범과 사진 수를 세어 출력한다.
난이도

보통10점 중 6점

유형
트리, 해시맵, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

지혜는 컴퓨터에 있는 사진들을 정리하기 위해 앨범정리 프로그램을 만들었다. 지혜가 만든 앨범정리 프로그램에는 기본적으로 "album" 앨범이 존재하며 "album" 앨범은 절대로 삭제할 수 없다. 프로그램을 실행시키면 "album" 앨범부터 시작하여 명령어들을 통해 앨범 삭제/추가, 사진 삭제/추가, 현재앨범 이동 등을 할 수 있다. 앨범정리 프로그램은 다음과 같은 명령어들로 구성되어 있다. 수행할 명령어의 개수 NN이 주어질 때 각 명령어 수행 후 문자열 출력이 필요한 명령어에 대해서 문자열을 출력한다.

  1. mkalb

    • 명령어 수행후: 현재 앨범에 속해있는 앨범 중 동일한 이름을 가진 앨범이 존재하여 앨범이 생성되지 않았으면 "duplicated album name"을 출력합니다. 그렇지 않다면 아무것도 출력하지 않습니다.

    • mkalb SS

      • 현재 앨범에 SS의 이름을 가진 앨범을 생성합니다.
      • 현재 앨범에 속해있는 앨범 중 동일한 이름을 가진 앨범이 존재하면 앨범을 생성하지 않습니다.
  2. rmalb

    • 명령어 수행후: 삭제된 앨범의 개수와 사진의 개수를 공백으로 구분하여 출력합니다.

    • rmalb SS

      • 현재 앨범에 속해있는 앨범 중 SS의 이름을 가진 앨범이 존재한다면, 해당 앨범을 삭제합니다.
      • 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
    • rmalb -1

      • 현재 앨범에 속해있는 앨범이 존재한다면, 이름이 사전순으로 가장 빠른 앨범을 삭제합니다.
      • 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
    • rmalb 0

      • 현재 앨범에 속해있는 모든 앨범을 삭제합니다.
      • 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
    • rmalb 1

      • 현재 앨범에 속해있는 앨범이 존재한다면, 이름이 사전순으로 가장 늦은 앨범을 삭제합니다.
      • 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
  3. insert

    • 명령어 수행후: 현재 앨범에 속해있는 사진 중에 동일한 이름을 가진 사진이 존재하여 사진이 삽입되지 않았으면 "duplicated photo name"을 출력합니다. 그렇지 않다면 아무것도 출력하지 않습니다.

    • insert SS

      • 현재 앨범에 SS의 이름을 가진 사진을 삽입합니다.
      • 현재 앨범에 속해있는 사진 중 동일한 이름을 가진 사진이 존재하면 사진을 삽입하지 않습니다.
  4. delete

    • 명령어 수행후: 삭제된 사진의 개수를 출력합니다.

    • delete SS

      • 현재 앨범에 속해있는 사진 중 SS의 이름을 가진 사진이 존재한다면, 해당 사진을 삭제합니다.
    • delete -1

      • 현재 앨범에 속해있는 사진이 존재한다면, 이름이 사전순으로 가장 빠른 사진을 삭제합니다.
    • delete 0

      • 현재 앨범에 속해있는 모든 사진을 삭제합니다.
    • delete 1

      • 현재 앨범에 속해있는 사진이 존재한다면, 이름이 사전순으로 가장 늦은 사진을 삭제합니다.
  5. ca

    • 명령어 수행후: 현재 앨범 이름을 출력합니다.

    • ca SS

      • 현재 앨범에 속해있는 앨범 중 SS의 이름을 가진 앨범으로 이동합니다.
      • 현재 앨범에 속해있는 앨범 중 SS의 이름을 가진 앨범이 없다면 현재 앨범에 머무릅니다.
    • ca ..

      • 현재 앨범의 상위 앨범으로 이동합니다.
      • 현재 앨범이 최상위 앨범인 "album" 앨범이라면 현재 앨범에 머무릅니다.
    • ca /

      • 최상위 앨범인 "album" 앨범으로 이동합니다.

"A가 B에 속해있다"라는 것은 A의 바로 하위에 B가 있다는 것을 의미합니다. 만약 A가 B에 속해있고, B가 C에 속해있는 경우, A는 C에 속해 있는 것이 아닙니다.

입력

첫째 줄에 수행할 명령어의 개수 NN이 주어진다.

다음 줄부터 NN줄에 걸쳐 앨범정리 프로그램의 명령어가 주어진다.

출력

문제 본문에 나와있는 앨범정리 프로그램 명령어의 설명에 따라 적절한 문자열을 출력한다.

제한

  • 1 ≤ NN ≤ 105
  • 1 ≤ SS의 길이 ≤ 20
  • SS는 공백을 포함하지 않은 알파벳 소문자로만 이루어져 있다.

예제3

  1. 예제 1

    입력
    24
    mkalb animal
    mkalb insect
    ca animal
    mkalb sky
    mkalb land
    mkalb ocean
    ca land
    insert elephant
    insert tiger
    insert banana
    delete banana
    ca elephant
    ca ..
    ca ocean
    insert whale
    ca /
    ca insect
    mkalb land
    mkalb sky
    ca ocean
    ca ..
    ca ..
    rmalb -1
    rmalb -1
    
    예상 출력
    animal
    land
    1
    land
    animal
    ocean
    album
    insect
    insect
    album
    album
    4 3
    3 0
    
  2. 예제 2

    입력
    29
    mkalb domestic
    mkalb ovarseas
    ca domestic
    ca incheon
    mkalb incheon
    ca incheon
    mkalb chinatown
    mkalb wolmido
    ca chinatown
    insert jajangmyeon
    insert champon
    insert friedrice
    insert jajangmyeon
    ca /
    ca domestic
    rmalb incheon
    ca /
    rmalb ovarseas
    mkalb overseas
    ca overseas
    mkalb japanese
    mkalb europe
    rmalb japanese
    ca europe
    rmalb 0
    ca ..
    delete europe
    ca ..
    rmalb 1
    
    예상 출력
    domestic
    domestic
    incheon
    chinatown
    duplicated photo name
    album
    domestic
    3 3
    album
    1 0
    overseas
    1 0
    europe
    0 0
    overseas
    0
    album
    2 0
    
  3. 예제 3

    입력
    30
    mkalb univ
    mkalb middle
    mkalb elementary
    insert middle
    ca middle
    insert middleschool
    ca ..
    rmalb middle
    ca univ
    mkalb inha
    insert kaist
    insert harvard
    delete harvard
    ca inha
    mkalb inkyungho
    mkalb hightech
    mkalb jungseok
    delete 0
    rmalb 1
    ca jungseok
    ca hightech
    mkalb computer
    mkalb elect
    mkalb machine
    rmalb 1
    rmalb 1
    insert computer
    insert elect
    ca /
    rmalb 0
    
    예상 출력
    middle
    album
    1 1
    univ
    1
    inha
    0
    1 0
    inha
    hightech
    1 0
    1 0
    album
    6 3