-
Java 10845 큐PS 2023. 5. 2. 02:38
풀이 :
int형 배열로 큐의 기능을 하는 CustomQueue 클래스를 구현하여 해당 문제를 풀이하였습니다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class CustomQueue { int[] queue; int begin; int end; public CustomQueue(int n){ this.queue = new int[n]; this.begin = 0; this.end = 0; } public void push(int n){ end++; queue[end-1] = n; } public int pop(){ if((end - begin) == 0){ return -1; } int i = queue[begin]; begin++; return i; } public int size(){ return end - begin; } public int empty(){ if((end - begin) == 0){ return 1; } return 0; } public int front(){ if((end - begin) == 0) return -1; return queue[begin]; } public int back(){ if((end - begin) == 0) return -1; return queue[end-1]; } } public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringTokenizer st; CustomQueue queue = new CustomQueue(n); StringBuilder sb = new StringBuilder(); for(int i = 0; i < n; i++){ st = new StringTokenizer(br.readLine()); String str = st.nextToken(); switch (str){ case "push": int data = Integer.parseInt(st.nextToken()); queue.push(data); break; case "pop": int pop = queue.pop(); sb.append(pop).append("\n"); break; case "size": int size = queue.size(); sb.append(size).append("\n"); break; case "empty": int empty = queue.empty(); sb.append(empty).append("\n"); break; case "front": int front = queue.front(); sb.append(front).append("\n"); break; case "back": int back = queue.back(); sb.append(back).append("\n"); break; default: break; } } System.out.print(sb); } }
'PS' 카테고리의 다른 글
Java 10773 제로 (0) 2023.05.02 Java 2164 카드2 (0) 2023.05.02 Java 1406 에디터 (0) 2023.05.02 Java 1874 스택 수열 (0) 2023.05.01 Java 9093 단어 뒤집기 (0) 2023.05.01