일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- androidstudio
- bitmap
- BOJ
- Canvas
- CS
- Database
- DBeaver
- DP
- Ecilpse
- Eclipse
- firebase
- git
- github
- GooglePlayServices
- gradle
- IDE
- IntelliJ
- java
- json
- kotlin
- level2
- linux
- mariadb
- MYSQL
- Paint
- permission
- python
- Sorting
- sourcetree
목록Algorithm (77)
will come true
문제 오늘 동빈이는 여행 가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이네 떡볶이 떡은 재밌게도 떡볶이 떡의 길이가 일정하지 않다. 대신에 한 봉지 않에 들어가는 떡의 총 길이는 절단기로 잘라서 맞춘다. 절단기에 높이(H)를 지정하면 줄지어진 떡을 한 번에 절단한다. 높이가 H보다 긴 떡은 H위의 부분이 잘릴 것이고, 낮은 떡은 잘리지 않는다. 예를 들어 높이가 19, 14, 10, 17cm인 떡이 나란히 있고 절단기 높이를 15cm로 지정하면 자른 뒤 떡의 높이는 15, 14, 10, 15cm가 될 것이다. 잘린 떡의 길이는 차례대로 4, 0, 0, 2cm이다. 손님은 6cm만큼의 길이를 가져간다. 손님이 왔을 때 요청한 총 길이가 M일 때 적어도 M만큼의 떡..
선택 정렬(Selection Sort) 현재 정렬되지 않은 데이터 중에서 가장 작은 데이터를 앞으로 이동한다. 시간 복잡도 : O(N²) private static void selectionSort(int[] array) { for (int i = 0; i < array.length; i++) { int minIndex = i; for (int j = i + 1; j < array.length; j++) { if (array[j] < array[minIndex]) { minIndex = j; } } int temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; } } 삽입 정렬(Insertion Sort) 앞까지의 데이터는 이미 정렬되어..
문제 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 풀이 N : 도시의 개수 N-1 : 인접한 두 도시를 연결하는 도로의 개수. 처음 도시에서는 기름이 없는 채로 시작한다. 각 도시의 주유소에서 1L당 가격으로 기름을 충전할 수 있다. 도로를 이동할 때 1km마다 1L의 기름을 사용한다. 1. 주유 비용을 최소화하기 위해 리터당 가격이 싼 기름을 넣어야 한다. 2. 그러나 그 도시의 주유소는 해당 도시에 도착해야 이용할 수 있다..
문제 https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 풀이 2가지 '두 점 사이의 거리' 정의를 이용해 원의 넓이를 각각 구하는 문제이다. 유클리드 기하학, 택시 기하학(맨헤튼 거리) 두 가지 기하학에서 '두 점 사이의 거리'에 대해 다르게 정의하고 있다. [유클리드] D(T₁, T₂)² = (𝑥₁ - 𝑥₂)² + (y₁ - y₂)² [택시] D(T₁, T₂) = |𝑥₁ - 𝑥₂| + |y₁ - y₂| 그러나, 두 기하학에서 '두 점 사이의 거리'에 대한 정의는 다르..
문제 https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 (실패) 단위가 큰 정수를 입력으로 받는 문제이기에 단순히 long 타입으로 처리한 결과, 실제 입력값과 변수 타입이 매칭되지 않아 두 경우 모두 예외가 발생했다. A. BufferedReader 로 입력받아서 long 타입으로 파싱 => NumberFormatException 예외 발생 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringT..
문제 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StringBuffer sb = new StringBuffer(); int T = sc.nextInt(); int[] floor = new int[15]; // 한 층의 거주자 수 for (int t = 0;..