일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- sorting
- Method
- Math
- Number Theory
- Binary Tree
- bit manipulation
- string
- database
- Data Structure
- array
- implement
- geometry
- dynamic programming
- 코테
- Class
- Tree
- simulation
- greedy
- 구현
- Binary Search
- 자바
- Counting
- 파이썬
- SQL
- Matrix
- two pointers
- hash table
- Stack
- java
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) - 둘째 줄부터 N개의 줄에 동전의 가치 A_i가 오름차순으로 주어진다. (1 ≤ A_i ≤ 1,000,000, A_1 = 1, i ≥ 2인 경우에 A_i는 A_i-1의 배수) 2. 출력 - 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 3. 예제 4. 코드 import java.util.*; import java.io.*; class Main { public static v..
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오. 1. 입력 - 입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가 쓰여져있다. 2. 출력 - 제출할 출력 파일은 1행으로만 되어 있다. 잔돈에 포함된 매수를 출력하시오. 3. 예제 4. 코드 import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = ne..
방향 그래프가 주어졌을 때, 그 그래프를 SCC들로 나누는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 두 정수 V(1 ≤ V ≤ 10,000), E(1 ≤ E ≤ 100,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는 의미이다. - 다음 E개의 줄에는 간선에 대한 정보를 나타내는 두 정수 A, B가 주어진다. 이는 A번 정점과 B번 정점이 연결되어 있다는 의미이다. 이때 방향은 A → B가 된다. - 정점은 1부터 V까지 번호가 매겨져 있다. 2. 출력 - 첫째 줄에 SCC의 개수 K를 출력한다. - 다음 K개의 줄에는 각 줄에 하나의 SCC에 속한 정점의 번호를 출력한다. 각 줄의 끝에는 -1을 출력하여 그 줄의 끝을 나타낸다. 각각의 SCC를 출력할 때 그 안에..
강호네 회사에는 직원이 N명이 있고, 해야할 일이 M개가 있다. 직원은 1번부터 N번까지 번호가 매겨져 있고, 일은 1번부터 M번까지 번호가 매겨져 있다. 각 직원은 한 개의 일만 할 수 있고, 각각의 일을 담당하는 사람은 1명이어야 한다. 각각의 직원이 할 수 있는 일의 목록이 주어졌을 때, M개의 일 중에서 최대 몇 개를 할 수 있는지 구하는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 직원의 수 N과 일의 개수 M이 주어진다. (1 ≤ N, M ≤ 1,000) - 둘째 줄부터 N개의 줄의 i번째 줄에는 i번 직원이 할 수 있는 일의 개수와 할 수 있는 일의 번호가 주어진다. 2. 출력 - 첫째 줄에 강호네 회사에서 할 수 있는 일의 개수를 출력한다. 3. 예제 4. 코드 import java.u..
농부 존은 소 축사를 완성하였다. 축사 환경을 쾌적하게 유지하기 위해서, 존은 축사를 M개의 칸으로 구분하고, 한 칸에는 최대 한 마리의 소만 들어가게 계획했다. 첫 주에는 소를 임의 배정해서 축사를 운영했으나, 곧 문제가 발생하게 되었다. 바로 소가 자신이 희망하는 몇 개의 축사 외에는 들어가기를 거부하는 것이다. 농부 존을 도와 최대한 많은 수의 소가 축사에 들어갈 수 있도록 하는 프로그램을 작성하시오. 축사의 번호는 1부터 M까지 매겨져 있다. 1. 입력 - 첫째 줄에 소의 수 N과 축사의 수 M이 주어진다. (1 ≤ N, M ≤ 200) - 둘째 줄부터 N개의 줄에는 각 소가 들어가기 원하는 축사에 대한 정보가 주어진다. i번째 소가 들어가기 원하는 축사의 수 Si (0 ≤ Si ≤ M)이 먼저 ..
1. Input 1) int[] nums 2) int[] queries 2. Output 1) 다음을 따라 만든 배열을 반환 - i번째 요소에 nums의 요소들의 합이 queries[i] 이하인 nums의 부분 배열 중 길이가 가장 긴 것을 찾아 그 길이를 저장 - 부분 배열은 nums상에서 연속적일 필요는 없다. 3. Constraint 1) n == nums.length 2) m == queries.length 3) 1 4 5. Code 1) 첫 코드(2023/06/26) class Solution { public int[] answerQueries(int[] nums, int[] queries) { int[] ans = new int[queries.length]; Arrays.sort(nums); ..
1. Input 1) TreeNode root 2. Output 1) root에 있는 조건식을 계산한 결과를 반환 - leaf node: 0(false), 1(true) - non-leaf node: 2(OR), 3(AND) 3. Constraint 1) 노드 수의 범위는 [1, 1000]이다. 2) 0
1. Input 1) String s 2. Output 1) s에 있는 알파벳 중 대소문자가 모두 있는 알파벳을 대문자로 반환 - 여러 개라면 그 중 가장 큰(순서상 뒤에 나오는) 알파벳을 반환 2) 조건을 만족하는 알파벳이 없다면 빈 문자열을 반환 3. Constraint 1) 1
1. Input 1) String arriveAlice 2) String leaveAlice 3) String arriveBob 4) String leaveBob 2. Output 1) Alice는 [arriveAlice, leaveAlice]동안 로마에 있고, Bob은 [arriveBob, leaveBob]동안 로마에 있다. 둘이 동시에 로마에 있는 날 수를 반환 3. Constraint 1) 날짜 형식은 모두 "MM-DD"이다. 2) Alice와 Bob은 로마에 도착한 날 당일에 로마를 출발하지 않았다. 3) 날짜는 모두 같은 연도의 날짜이기 때문에 윤년을 따질 필요가 없다. 4) 2월은 28일까지 있다. 4. Example Input: arriveAlice = "08-15", leaveAlice =..