[Java] 백준 12789 도키도키 간식드리미

Lee GaEun·2025년 2월 20일

[Java] 알고리즘

목록 보기
58/93

12789 도키도키 간식드리미 문제 링크

문제


#1

import java.awt.*;
import java.io.*;
import java.util.*;

class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        Deque<Integer> arr = new ArrayDeque<>();
        for(int i=0; i<N; i++) {
            arr.addLast(Integer.parseInt(st.nextToken()));
        }

        String answer = "Nice";
        Deque<Integer> line = new ArrayDeque<>();

        line.addLast(arr.pollFirst());
        for(int i=1; i<=N; i++) {
            while (!arr.isEmpty()) {
                if(!line.isEmpty() && line.peekLast() < arr.peekFirst()) break;
                line.addLast(arr.pollFirst());
            }
            if(line.pollLast() != i) {
                answer = "Sad";
                break;
            }
        }

        System.out.println(answer);
    }
}

  • 성공!
  • 반례를 스스로 찾는 연습을 해야되는데, 쉽지 않네..
profile
I will give it my all (๑•̀o•́๑)ง

0개의 댓글