본문 바로가기

전체 글474

[백준] 10870번 : 피보나치 수 5 - Java https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 풀이 1. Scanner + 재귀함수 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); System.out.println(fibonacci(N)); .. 2022. 4. 5.
[백준] 1002번 : 터렛 - Java https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 알고리즘 조규현 A 백승환 B A 터렛의 위치(𝑥₁, 𝑦₁) B 터렛의 위치(𝑥₂, 𝑦₂) 마린(류재명) C A와 B가 자신의 위치로부터의 거리 각각 계산 A부터 C까지의 거리 𝑟₁ B부터 C까지의 거리 𝑟₂ ➡ 𝑥₁, 𝑦₁, 𝑟₁, 𝑥₂, 𝑦₂, 𝑟₂ 가 주어졌을 때 C가 있을 수 있는 위치의 수 찾기 각 터렛의 위치를 중심으로 C와의 거리를 반지름으로 하는 원 그리기 ➡ 반지름이 𝑟₁ 인 A 와 반지름이 𝑟₂ 인 B 의 접점의 개수 두 원의 접점.. 2022. 4. 4.
[백준] 3053번 : 택시 기하학 - Java https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 택시 기하학 = 맨해튼 거리, Manhatten distance 빨간색 길이 = 파란색 길이 = 노란색 길이 ➡ 2차원 평면에서 가로를 x, 세로를 y라 할 때, 택시 기하학에서의 거리 = 두 점의 x 좌표 차 + 두 점의 y 좌표 차 유클리드 기하학 택시 기하학 * 그림 상의 초록색 선 * 우리가 평소에 아는 '거리' 개념 D(T₁, T₂)² = (𝑥₁ - 𝑥₂)² + (y₁ - y₂)² 원의 넓이 = 𝜋𝑟² = 3 .. 2022. 4. 4.
[DB] Database "mem:testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 에러메시지 Database "mem:testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 에러 원인 [원인 1] /h2-console 에서 jdbc:h2:mem:testdb 데이터 베이스 찾을 수 없음 or 데이터 베이스를 미리 생성(pre-create) 불가 or 원격 데이터 생성 불가 [원인 2] h2 버전 중 1.4.197 과 1.4.198 사이에서 대규모 업데이트 진행 ➡ 데이터 베이스 미리 생성 방지 설정됨 해결 방법 [방법 1] application.properties에서 spring.datasourc.. 2022. 4. 3.
[백준] 4153번 : 직각삼각형 - Java https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 알고리즘 피타고라스의 정리 활용 a2 = b2 + c2 풀이 1. Scanner import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) { int x = in.nextInt(); int y = in.nextInt(); int z .. 2022. 4. 1.
[백준] 3009번 : 네 번째 점 - Java .https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 알고리즘 직사각형 만들기 위해 총 4개의 좌표(x, y) 필요 4개의 좌표 기준, 각 좌표의 x와 y값은 쌍을 이룸 쌍을 이루지 않는 (x, y) 좌표 구하기 예시 4개의 좌표 주어짐 (2, 1), (4, 1), (2, 3), (4, 3) * x 좌표 종류 : 2, 4 (각 2개씩) * y 좌표 종류 : 1, 3 (각 2개씩) 3개의 좌표가 주어질 때 나머지 하나의 좌표 구하는 방법 x = x가 쌍을 이루지 않는 좌표 y = y가 쌍을 이루지 않는 좌표 ➡ 쌍을 이루지 않는 .. 2022. 3. 31.
[백준] 1085번 : 직사각형에서 탈출 - Java https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 알고리즘 직사각형의 경계선까지 가는 거리의 최솟값 (x,y) 위치 기준으로 상, 하, 좌, 우 중 최소값 구하기 풀이 1. Scanner import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int x = in... 2022. 3. 30.
[백준] 9020번 : 골드바흐의 추측 - Java https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 주의점 2보다 큰 짝수에 대한 소수의 합 구하기 소수의 합이 여러 개일 때, 두 소수의 차이가 작은 경우 출력 두 소수 중 작은 수부터 출력 알고리즘 에라토스테네스의 체 활용 짝수 n에 대한 두 소수 구하기 + 두 소수의 차가 작은 경우 출력 예시 n = 14 n = p + q (p와 q는 소수) 14 = 7 + 7 14 = 3 + 11 ➡ 두 소수의 차가 작은 7 7 출력해야.. 2022. 3. 30.
[Java] String ➡ Long 타입으로 형변환 방법 Long.parseLong() new Long(str).longValue() Long.valueOf(str).longValue() 예제 String str = "30"; Long strLong; //str이 유효한 숫자가 아니면 NumberFormatException 발생 //방법1 : Long.parseLong(str) strLong = Long.parseLong(str); //방법2 : new Long(str).longValue() strLong = new Long(str).longValue(); //방법3 : Long.valueOf().longValue() strLong = Long.valueOf(str).longValue(); 주의점 입력된 String 값이 유효한 숫자가 아니면 Number.. 2022. 3. 30.