일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- array
- SQL
- implement
- database
- 구현
- greedy
- Math
- Binary Tree
- 코테
- 자바
- Counting
- Data Structure
- two pointers
- Number Theory
- java
- bit manipulation
- 파이썬
- Binary Search
- Method
- string
- 코딩테스트
- geometry
- Class
- Matrix
- sorting
- hash table
- Tree
- dynamic programming
- Stack
- simulation
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
- 입력: 첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다. 둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다. 이후 N개의 줄에는 각 물건의 가격 a와 개수 b가 공백을 사이에 두고 주어진다. - 출력: 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int x = scan.nextInt(), n = scan.nextInt(); for(int i=0 ; i
- 입력: 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. - 출력: 1부터 n까지 합을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(); System.out.println(n*(n+1)/2); } }
- 입력: 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 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); int n = scan.nextInt(); for(int i=0 ; i
- 입력: 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. - 출력: 출력형식과 같게 N*1부터 N*9까지 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(); for(int i=1 ; i
- 입력: 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. - 출력: 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); double[..
- 입력: 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. - 출력: 각 테스트 케이스마다 점수를 출력한다. // 입력에 있는 문자 O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. // 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, “OOX"라면 1+2+0=3점이 된다. import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRe..
- 입력: 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. - 출력: 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다. // 자기 점수 중에 최댓값을 고른다. // 모든 점수를 점수/최댓값*100으로 고친다. // 바꾼 점수들로 새로운 평균을 구한다. import java.util.*; import java.io.*; class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = n..
- 입력: 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. - 출력: 첫째 줄에, 모든 입력들을 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. import java.util.*; class Main{ public static void main(String[] args){ HashSet s = new HashSet(); Scanner scan = new Scanner(System.in); while(scan.hasNext()){ int x = scan.nextInt()%42; if(!s.contains(x)) s.add(x); } System.out.println(s.size()); } }
- 입력: 입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다. - 출력: 출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); ArrayList list = new ArrayList(); for(int i=1 ; i
- 입력: 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. - 출력: 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int line = 1, max = scan.nextInt(), x; for(int i=2 ; imax){ max = x; line = i; } } System.out.println(max); System.out.println(line); } }