less than 1 minute read

12789 도키도키 간식드리미 / c++ / Silver3 / 20분

문제 및 코드

접근 방식

자료 구조 / 스택

  1. 입력을 받았을 때, 우선 스택이 비어있는지 체크
    1. 비어있지 않다면 스택의 탑이 들어갈 수 있는지 체크
      1. 들어갈 수 있다면 스택을 pop 하고 들어갈 수 있는 번호 1 증가
  2. 현재 입력 값이 들어갈 수 있는 지 체크
    1. 들어갈 수 있다면 들어갈 수 있는 번호 1 증가
    2. 들어갈 수 없다면 Stack 에 입력값을 push
  3. 입력을 다 받은 후 스택이 비어 있는지 체크 후, 비어 있지 않다면 스택이 빌 때까지 반복
    1. 스택의 탑이 들어갈 수 있다면 pop, 들어갈 수 있는 번호 1 증가
    2. 스택의 탑이 들어갈 수 없다면 “Sad\n” 출력 후 종료
  4. 스택도 다 비었다면, 전부 들어간 것이므로 “Nice\n” 출력

다시 생각해 볼 점

  1. 스택의 값이 다시 배열로 돌아갈 수 없다는 조건을 처음에 발견하지 못해서 시간을 소모했다. 문제를 제대로 읽는 습관을 들여야겠다.
  2. 스택의 성질만 안다면 쉽게 풀 수 있는 문제였다.