Baekjoon Online Judge - 10845
Review
- 제출하면서 맞왜틀이 된 문제.
- 한 시간동안 헤매서 답을 풀었다.
- 이유는 출력시 자료형이 달라서 그런 거였다. object로 return했는데 자꾸 틀리는 바람에 int로 죄다 바꿔서 출력하니까 성공.
- 몰랐던 나는 예외처리 잘못한 줄 알고 엉뚱한 거 계속 고치고 있었다. 진짜 에바…
Code (JAVA)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| import java.io.*;
public class Main { public static void main(String args[]) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(bf.readLine()); Queue queue = new Queue(n); while(n-->0) { String[] input = bf.readLine().split(" "); if(input[0].equals("push")) { queue.push(Integer.parseInt(input[1])); } else if(input[0].equals("pop")) { sb.append(queue.pop() + "\n"); } else if(input[0].equals("size")) { sb.append(queue.size() + "\n"); } else if(input[0].equals("empty")) { sb.append(queue.empty() + "\n"); } else if(input[0].equals("front")) { sb.append(queue.front() + "\n"); } else if(input[0].equals("back")) { sb.append(queue.back() + "\n"); } } System.out.println(sb); } static class Queue { private int[] array; private int rear; private int item; public Queue(int size) { rear = -1; array = new int[size]; } public void push(int item) { array[++rear] = item; } public int pop() { if (rear==-1) { return -1; } else { item = array[0]; for (int i = 0; i < rear; i++) { array[i] = array[i+1]; } rear--; return item; } } public int size() { return rear+1; } public int empty() { if(rear==-1) { return 1; } else { return 0; } } public int front() { if(rear==-1) { return -1; } return array[0]; } public int back() { if(rear==-1) { return -1; } return array[rear]; } } }
|