일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Math
- simulation
- 자바
- bit manipulation
- Method
- Tree
- hash table
- Counting
- Matrix
- 파이썬
- 코테
- 구현
- geometry
- string
- java
- Data Structure
- sorting
- 코딩테스트
- Number Theory
- two pointers
- Class
- implement
- database
- SQL
- array
- Stack
- greedy
- Binary Search
- dynamic programming
- Binary Tree
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
- 입력: 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. - 출력: 각 테스트 케이스에 대해 P를 출력한다. // 문자열 S를 입력받은 후에 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRead..
- 입력: 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. - 출력: 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buff..
- 입력: 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. - 출력: 입력으로 주어진 숫자 N개의 합을 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.valueOf(br.readLine()), sum = (-48)*n; char[] input = br.readLine().toCharArray(); for(int i=0 ; i
- 입력: 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. - 출력: 입력으로 주어진 글자의 아스키 코드 값을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); String input = scan.next(); System.out.println((int)input.charAt(0)); } }
1. Input 1) String[] list1 2) String[] list2 2. Output 1) 두 배열의 공통 문자열이 있을 때, 그 인덱스의 합이 최소가 되는 문자열을 담은 배열을 반환 - 인덱스의 합이 최소가 되는 문자열이 여러개라면 순서에 상관없이 담아서 반환 3. Constraint 1) 1
1. Input 1) int[] nums 2. Output 1) nums의 요소로 만들 수 있는 조화 부분배열의 길이 중 가장 긴 것을 반환 - 부분배열을 이루고 있는 요소들의 차가 정확히 1일 때 조화롭다고 표현한다. 3. Constraint 1) 1
// 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. // 배달을 갈 때 최대한 적은 봉지를 들고 가려고 한다. 18kg을 배달할 때, 3kg 6봉지보다 5kg 3봉지 + 3kg 1봉지가 봉지 수가 더 적다. - 입력: 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) - 출력: 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in);..
1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … - 입력: 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. - 출력: 첫째 줄에 X번째 분수를 출력한다. // 표에 있는 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → 1/3 → … 과 같은 지그재그 순서로 차례대로 나열한다고 하면 2/1은 3번째 분수이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(),..
- 입력: 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. - 출력: 1번방에서부터 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. // 시작과 끝을 포함하여 방의 개수를 센다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(), count = 1, sum = 1; while(n>sum){ sum += 6*count; count++; } System.out.println(count); } }
- 입력: 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. // A는 고정비용, B는 노트북 1대를 생산하는데 드는 가변 비용, C는 노트북의 가격 - 출력: 첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다. 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(b>=c) System.out.println(-1);..