일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Counting
- 파이썬
- simulation
- sorting
- 구현
- 자바
- Stack
- Binary Search
- geometry
- database
- hash table
- Binary Tree
- Math
- SQL
- bit manipulation
- Data Structure
- 코테
- 코딩테스트
- two pointers
- Matrix
- greedy
- implement
- java
- dynamic programming
- Tree
- array
- Method
- Class
- Number Theory
- string
- Today
- Total
목록자바 (584)
코린이의 소소한 공부노트
1. 개념정리 1) 뒤쪽에서는 삽입이, 앞쪽에서는 삭제가 일어나는 구조 2) FIFO(First In First Out, 첫 삽입 데이터가 먼저 삭제됨) 3) java.util 패키지에 Queue 인터페이스가 있고, 이를 구현한 클래스 중 대표적인 것이 LinkedList가 있다. 2. 구현 코드 class ArrayQueue{ // int[]로 구현하는 큐 protected final int defCap = 100;// 큐의 용량 protected int[] queue;// 큐로 사용할 배열 protected int numElements = 0;// 큐에 들어간 요소의 개수 protected int front = 0;// 큐의 맨 앞 인덱스 protected int rear;// 큐의 맨 뒤 인덱스 p..
- 입력: 첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다. - 출력: 첫째 줄에 게임의 상금을 출력 한다. // 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. // 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. // 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int a = scan.nextInt(), b = scan.nextInt(), c = scan.nextInt(); if..
- 입력: 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다. 두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다. - 출력: 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int hour = scan...
- 입력: 첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다. 입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다. - 출력: 첫째 줄에 상근이가 창영이의 방법을 사용할 때, 설정해야 하는 알람 시간을 출력한다. (입력과 같은 형태로 출력하면 된다.) import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int hour =..
- 입력: 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0) - 출력: 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); if(scan.nextInt()>0){ if(scan.nextInt()>0) System.out.println(1); else System.out.println(4); } else{ if(scan.nextInt()>0) System.out.println(2);..
- 입력: 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. - 출력: 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int year = scan.nextInt(); if(year%400==0 || year%4==0 && year%100!=0) System.out.println(1); else System.out.println(0); } }
- 입력: 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. - 출력: 첫째 줄에 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); switch(scan.nextInt()/10){ case 10: case 9: System.out.println("A"); break; case 8: System.out.println("B"); break; case 7: System.out.println..
- 입력: 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. - 출력: 첫째 줄에 다음 세 가지 중 하나를 출력한다. // A가 B보다 큰 경우에는 '>'를 출력한다. // A가 B보다 작은 경우에는 '
- 입력: 첫째 줄에 N이 주어진다. N은 0보다 크거나 같고, 99보다 작거나 같은 정수이다. - 출력: 첫째 줄에 N의 사이클 길이를 출력한다. // 주어진 수의 각 자리의 숫자를 더한다. // 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙여 새로운 수를 구한다. // 이 과정을 x번 반복해 원래 수로 돌아왔다면 사이클의 길이는 x이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(), x = n, count = 0, sum = 0; while(n!=x || co..
- 입력: 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) - 출력: 각 테스트 케이스마다 A+B를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); while(scan.hasNext()){ System.out.println(scan.nextInt()+scan.nextInt()); } } }