일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- bit manipulation
- 코딩테스트
- Math
- geometry
- sorting
- Class
- 파이썬
- Data Structure
- 구현
- simulation
- implement
- Counting
- two pointers
- string
- greedy
- dynamic programming
- 코테
- Binary Tree
- SQL
- database
- array
- hash table
- java
- 자바
- Stack
- Number Theory
- Tree
- Method
- Matrix
- Binary Search
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. 입력 - 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n(0 ≤ n ≤ 4*10^9)이 주어진다. 2. 출력 - 각각의 테스트 케이스에 대해서 n보다 크거나 같은 소수 중 가장 작은 소수를 한 줄에 하나씩 출력한다. 3. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStream..
1. 입력 - 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. 2. 출력 - 첫째 줄에 S의 서로 다른 부분 문자열의 개수를 출력한다. - 부분 문자열은 S에서 연속된 일부분을 말하며, 길이가 1보다 크거나 같아야 한다. 3. 코드 import java.util.*; class Main{ public static void main(String[] args){ String s = new Scanner(System.in).next(); HashSet set = new HashSet(); for(int i=1 ; i
종말의 수란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 수는 666이고, 그 다음으로 큰 수는 1666, 2666, 3666, .... 이다. 따라서, 숌은 첫 번째 영화의 제목은 "세상의 종말 666", 두 번째 영화의 제목은 "세상의 종말 1666"와 같이 이름을 지을 것이다. 일반화해서 생각하면, N번째 영화의 제목은 세상의 종말 (N번째로 작은 종말의 수) 와 같다. 1. 입력 - 첫째 줄에 N이 주어진다. N은 10,000보다 작거나 같은 자연수이다. 2. 출력 - 첫째 줄에 N번째 영화의 제목에 들어간 수를 출력한다. 3. 코드 import java.util.*; class Main{ public static void main(String[] args)..
1. 입력 - 정수 a,b,c,d,e,f가 공백으로 구분되어 차례대로 주어진다. (-999
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 1. 입력 - 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 2. 출력 - 첫째 줄에 답을 출력한다. - 생성자가 없는 경우에는 0을 출력한다. 3. 코드 import java.util.*; class Main{ public static void main(String[] args){ int n = new..
1. Input 1) String blocks 2) int k 2. Output 1) blocks에서 길이가 k인 부분 문자열을 뽑았을 때, 모든 글자가 B가 되도록 바꿔야하는 W의 최소 개수를 반환 3. Constraint 1) n == blocks.length 2) 1
1. Input 1) int[][] grid 2. Output 1) grid를 3*3행렬의 윈도우로 순회하면서 해당 행렬의 요소 9개 중 가장 큰 값을 저장한 (n-2)*(n-2) 배열을 반환 3. Constraint 1) n == grid.length == grid[i].length 2) 3
1. Input 1) int[] nums 2) int diff 2. Output 1) nums의 요소 중 다음을 만족하는 순서쌍의 개수를 반환 - i < j < k - nums[j] - nums[i] == diff - nums[k] - nums[j] == diff - 중복 순서쌍은 세지 않는다. 3. Constraint 1) 3
1. Input 1) int[][] items1 2) int[][] items2 2. Output 1) item별로 총합 무게가 정리된 리스트를 반환 - items[i][0] = i번째 물건의 가치 - items[i][1] = i번째 물건의 무게 - 반환되는 리스트는 가치를 기준으로 오름차순으로 정렬해야 한다. 3. Constraint 1) 1
1. Input 1) int[] nums 2. Output 1) 다음과 같은 작업을 반복할 때, 모든 요소들을 0으로 만드는 최소 횟수를 반환 - nums에서 가장 작은 양의 정수 x를 고른다. - nums에 있는 모든 양수에서 x를 뺀다. 3. Constraint 1) 1 nums = [0,0,0,0,0] 5. Code 1) 첫 코드(2023/05/02) class Solution { public int minimumOperations(int[] nums) { int answer = 0; Arrays.sort(nums); for(int i=0 ; i