일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Counting
- 자바
- Binary Search
- greedy
- Math
- hash table
- Method
- java
- implement
- Number Theory
- simulation
- array
- bit manipulation
- 코딩테스트
- SQL
- 파이썬
- Class
- Stack
- Matrix
- string
- database
- 구현
- dynamic programming
- two pointers
- 코테
- Binary Tree
- sorting
- geometry
- Tree
- Data Structure
- Today
- Total
목록Math (269)
코린이의 소소한 공부노트
- 입력: 첫째 줄에 정수 N(0
녹색거탑은 위 그림과 같이 규칙적으로 쌓여있다. 1. 그림의 시야에 보이지 않는 블록은 없다. 2. 그림의 시야에 보이는 블록의 윗면만 이용해 녹색거탑을 내려올 수 있다. 3. 녹색거탑이 N층이면, 총 N개의 블록을 이용한 최단 경로로만 내려온다. 4. 녹색거탑을 내려올 때는 정상에서 시작해 노란색 바닥까지, 항상 인접한 아래층의 블록으로만 내려온다. - 입력: 녹색거탑의 높이를 나타내는 정수 N이 주어진다. (1
- 입력: 첫째 줄에는 점의 개수 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인 정사각형을 맨 윗줄부터 1개, 2개, 3개, ...등 피라미드 형식으로 빈틈없이 붙여 나간다. - 입력: 첫 번째 줄에 가장 아랫부분의 정사각형 개수 n이 주어진다. (1 ≤ n ≤ 10^9) - 출력: 1층부터 n층까지 쌓인 도형의 둘레의 길이를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(); System.out.print((long)n*4); } }
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. - 입력: 첫째 줄에 x, y, w, h가 주어진다. 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w, h는 정수 - 출력: 첫째 줄에 직사각형의 변까지 가는 거리의 최솟값을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int x = scan.nextInt(), y = scan.nextInt(), w = scan.nextInt(), h = scan.nextI..
- 입력: 첫째 줄에 세로의 길이 A가, 둘째 줄에 가로의 길이 B가 주어진다. 1 ≦ A ≦ 100 1 ≦ B ≦ 100 A, B 는 정수이다. - 출력: 첫째 줄에 주어진 직사각형의 넓이를 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int a = scan.nextInt(), b = scan.nextInt(); System.out.println(a*b); } }
- 입력: 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. - 출력: 첫째 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 0을 출력하시오. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(), k = scan.nextInt(), answer = 0; boolean find = false; for(int i=1 ; i
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
- 입력: 첫째 줄에 행렬의 크기 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..
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...