Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 열혈 C++
- lambda 이름 변경
- C++ 입출력
- 백준 알고리즘
- go 환경변수
- 깃허브 코드 업로드
- 깃허브 복제
- C++
- GitHub 업로드
- aws lambda 함수
- 라우팅 연결하기
- node.js
- godotenv
- http 모듈
- 출력형식 오류 해결
- 깃허브 clone
- 백준
- C++ Fast I/O
- C++ 시간 초과
- node.js 교과서
- Node.js교과서
- 깃허브 pull
- 깃허브 협업
- 람다 함수 이름 변경 안됨
- 람다 함수 이름 변경
- 팔로잉 끊기 구현
- go .env
- 깃허브
- 백준 2443
- github pull
Archives
- Today
- Total
만능재주꾼
[백준 10845] 큐 - JAVA 본문
문제
풀이 포인트
- 큐로 사용할 배열 만들기
- push 할 때 back을 증가해주는 것으로 배열에 값 추가
- pop 할 때 front를 증가해주는 것으로 배열의 삭제 기능 구현
- 큐의 size는 back-front+1로 알 수 있음
- 큐의 empty판별은 back-front가 1일 경우 empty
풀이
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int front=0,back=-1; //front는 맨 앞, back은 맨 뒤를 가리키는 인덱스
int num = Integer.parseInt(br.readLine());
int []queue = new int [num]; //큐 배열 생성
StringTokenizer st;
for (int i=0;i<num;i++) {
st = new StringTokenizer(br.readLine());
String command = st.nextToken(); //읽어온 st의 첫 번째 토큰을 command에 저장
switch(command) {
case "push":
queue[++back] = Integer.parseInt(st.nextToken());
break;
case "pop":
if (back-front==-1) bw.write("-1\n");
else bw.write(queue[front++]+"\n");
break;
case "size":
bw.write(back-front+1+"\n");
break;
case "empty":
if (back-front==-1) bw.write("1\n");
else bw.write("0\n");
break;
case "front":
if (back-front==-1) bw.write("-1\n");
else bw.write(queue[front]+"\n");
break;
case "back":
if (back-front==-1) bw.write("-1\n");
else bw.write(queue[back]+"\n");
break;
}
}
br.close(); bw.flush(); bw.close();
}
}
'💻 Algorithm > BOJ' 카테고리의 다른 글
[백준 8958] OX퀴즈 - JAVA (0) | 2021.01.04 |
---|---|
[백준 2577] 숫자의 개수 - JAVA (0) | 2021.01.02 |
[백준 3052] 나머지 - JAVA (Vector 사용) (0) | 2020.12.31 |
[백준 1110] 더하기 사이클 - JAVA (do-while문 사용) (0) | 2020.12.28 |
[백준 2739] 구구단 - JAVA (for문 사용) (0) | 2020.12.26 |
Comments