일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stack
- database
- array
- Binary Search
- 코테
- Method
- greedy
- Matrix
- 코딩테스트
- 구현
- 파이썬
- geometry
- Tree
- implement
- two pointers
- Binary Tree
- hash table
- Counting
- Math
- Class
- 자바
- dynamic programming
- sorting
- SQL
- Number Theory
- java
- simulation
- string
- bit manipulation
- Data Structure
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. Input 1) int[][] matrix - m == matrix.length - n == matrix[i].length 2. Output 1) m*n 매트릭스에 존재하는 모든 대각선이 각각 같은 값으로 되어있다면 true를, 아니면 false를 반환 3. Constraint 1) 1
1. Input 1) int numOnes - 가방에 있는 공 중 1이라고 적힌 공의 개수 2) int numZeros - 가방에 있는 공 중 0이라고 적힌 공의 개수 3) int numNegOnes - 가방에 있는 공 중 -1이라고 적힌 공의 개수 4) int k 2. Output 1) k개의 공을 꺼냈을 때 가능한 공에 적힌 숫자의 합 중에서 가장 큰 것을 반환 3. Constraint 1) 0
- 입력: 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다. - 출력: 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int r = 0, c = 0, max = 0; for(int i=0 ; i
- 입력: 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. - 출력: 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWrite..
도현이는 바구니는 총 N개 갖고 있고, 가장 왼쪽부터 1번 바구니이다. - 입력: 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다. 둘째 줄부터 M개의 줄에는 바구니의 순서를 바꾸는 만드는 방법이 주어진다. 방법은 i, j, k로 나타내고, 왼쪽으로부터 i번째 바구니부터 j번째 바구니의 순서를 회전시키는데, 그 때 기준 바구니는 k번째 바구니라는 뜻이다. (1 ≤ i ≤ k ≤ j ≤ N) 예를 들어 1번부터 6번까지 바구니를 회전시키려고 하고, 기준이 3번이라면 1,2,3,4,5,6이 3,4,5,6,1,2로 바뀌게 된다. 도현이는 입력으로 주어진 순서대로 바구니의 순서를 회전시킨다. - 출력: 모든 순서를 회전시킨 다음에, 가장 왼쪽에 있는 바구니부터 바구니에 적혀있는 ..
1. Input 1) int n 2. Output 1) n을 2진수로 표현했을 때, 1의 위치가 짝수인 것의 개수와 홀수인 것의 개수를 차례대로 담은 int[] 반환 - 맨 앞이 0번째이고, 0은 짝수로 취급한다. 3. Constraint 1) 1
1. Input 1) int[][] grid - n == grid.length == grid[i].length - grid는 0부터 n*n-1까지 나이트가 이동할 곳을 순서대로 담아 놓은 2차원 배열이다. - grid[0][0] == 0이다. 2. Output 1) 나이트가 grid에 명시된 대로 n*n-1까지 유효하게 움직일 수 있다면 true를 반환 3. Constraint 1) 3
1. Input 1) int[] bits 2. Output 1) 다음 규칙에 따라 숫자를 셌을 때, 마지막 수가 1비트짜리 숫자면 true를 반환 - 1비트짜리 숫자는 0뿐이다. - 2비트짜리 숫자는 11 또는 10이다. - bits는 0으로 끝난다. 3. Constraint 1) 1 Output: false 설명: - 10, 0으로 나눌 수 있다. 마지막 수가 1비트짜리 숫자이므로 true를 반환한다. - 11, 10으로 나눌 수 있다. 마지막 수가 2비트짜리 숫자이므로 false를 반환한다. 5. Code 1) 첫 코드(2023/03/19) boolean answer = true; if(bits.length==1 && bits[0]!=0) answer = false; else{ for(int i=0 ..
1. Input 1) int length 2) int width 3) int height 4) int mass - 박스의 가로, 세로, 높이, 무게를 나타낸다. 2. Output 1) 다음 규칙에 따른 박스의 카테고리를 문자열로 반환 - 박스의 어느 한 길이라도 10^4 이상이거나, 박스의 부피가 10^9 이상이면 bulky하다고 한다. - 박스의 무게가 100 이상이면 heavy하다고 한다. - 박스가 bulky하면서 heavy하면 카테고리는 “Both"이다. - 박스가 bulky하면서 heavy하지 않다면 카테고리는 “Bulky"이다. - 박스가 bulky하지 않으면서 heavy하면 카테고리는 “Heavy"이다. - 박스가 bulky하지도 heavy하지도 않다면 카테고리는 “Neither"이다. 3...
목표: HashSet과 관련된 메서드를 아무 것도 쓰지 않고 HashSet을 구현하기 - 생성자 - add(), contains(), remove() 1. Input 1) add(): HashSet에 추가할 값 2) contains(): HashSet에 있는지 없는지 확인할 값 3) remove(): HashSet에서 제거할 값. 만약 해당 값이 HashSet에 없다면 아무 일도 일어나지 않는다. 2. Output 1) contains(): HashSet에 값이 있다면 true, 없다면 false를 반환 3. Constraint 1) 0