일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Counting
- bit manipulation
- geometry
- Class
- array
- string
- simulation
- java
- hash table
- 코테
- Number Theory
- Data Structure
- Method
- sorting
- Matrix
- Binary Search
- 파이썬
- dynamic programming
- database
- greedy
- implement
- 코딩테스트
- Binary Tree
- Stack
- Math
- 자바
- 구현
- SQL
- Tree
- two pointers
- Today
- Total
목록geometry (16)
코린이의 소소한 공부노트
1. Input 1) int rows 2) int cols 3) int rCenter 4) int cCenter 2. Output 1) rows*cols 행렬의 (rCenter, cCenter)에서부터 가까운 순서로 좌표를 담은 배열을 반환 - (rCenter, cCenter)에서부터 같은 거리에 있는 여러 개의 점을 담을 때는 어떤 순서든 상관없다.. - 두 점 (r1, c1), (r2, c2) 사이의 거리를 구할 때는 |r1 - r2| + |c1 - c2|를 계산하여 구한다. 3. Constraint 1) 1
1. Input 1) int[][] grid - grid[i][j] == (i,j)에 쌓여있는 1*1*1 큐브의 개수 2. Output 1) grid를 이루고 있는 입체도형의 겉넓이를 반환 - 밑면도 겉넓이에 포함된다. 3. Constraint 1) n == grid.length == grid[i].length 2) 1
1. Input 1) int n 2. Output 1) 원판을 n등분 하기 위한 최소 커팅 횟수를 반환 - 1회 커팅에 지름 또는 반지름의 형태로만 자를 수 있다. 3. Constraint 1) 1 Output: 3 설명: - 지름 형태로 2번 자르면 4등분이 된다. - 반지름 형태로 3번 자르면 3등분이 된다. 5. Code 1) 첫 코드(2023/05/04) class Solution { public int numberOfCuts(int n) { if(n==1) return 0; return n%2==0 ? n/2 : n; } }
1. Input 1) int[][] coordinates - 점들의 x,y좌표가 담겨있다. 2. Output 1) 모든 점들이 한 직선 위에 있다면 true, 아니면 false를 반환 3. Constraint 1) 2
1. Input 1) int[][] points - 세 점의 좌표를 담고 있다. 2. Output 1) 세 점으로 부메랑을 만들 수 있다면 true를, 없다면 false를 반환 - 부메랑은 한 직선 위에 있지 않은 서로 다른 세 점을 말한다. 3. Constraint 1) points.length == 3 2) points[i].length == 2 3) 0 Output: false 5. Code 1) 첫 코드(2023/04/04) boolean answer; int x1 = points[1][0] - points[0][0]; int x2 = points[2][0] - points[1][0]; double y1 = points[1][1] - points[0][1]; double y2 = points[2]..
- 입력: 첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다. - 출력: 첫째 줄에 아래의 조건을 만족하면서 만들 수 있는 가장 큰 삼각형의 둘레를 출력한다. 1) 막대의 길이는 마음대로 줄일 수 있다. 2) 각 막대의 길이는 양의 정수이다 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)); StringTokenizer token = ne..
- 입력: 각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다. - 출력: 주어진 각 삼각형의 세 변의 길이에 따라 아래 중 1개를 출력한다. 1) Equilateral : 세 변의 길이가 모두 같은 경우 2) Isosceles : 두 변의 길이만 같은 경우 3) Scalene : 세 변의 길이가 모두 다른 경우 4) Invaild: 삼각형이 이루어지지 않을 경우 import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System..
- 입력: 총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다. - 출력: 입력을 보고 아래에 제시된 것 중 1개를 출력한다. 1) 세 각의 크기가 모두 60이면, Equilateral 2) 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles 3) 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene 4) 세 각의 합이 180이 아닌 경우에는 Error 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 =..
- 입력: 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. - 출력: 첫째 줄에 N 개의 점을 둘러싸는 최소 크기의 직사각형의 넓이를 출력하시오. 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 OutputStreamWr..
- 입력: 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. - 출력: 좌표축에 평행한 직사각형을 만들기 위해 필요한 네 번째 점의 좌표를 출력한다. 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 OutputStreamWriter(System.out)); int[][] points = new int[3][2]; for(int i..