본문 바로가기

java257

[백준] 2447번 : 별 찍기 - 10 - Java https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 주의점 Scanner + System.out.println(): 시간 초과됨 출력 방법 : StringBuilder / BufferedWriter 활용하기 알고리즘 N = 3일 때 한 블럭의 모양 블럭의 가운데는 공백 N = 31 N = 32 = 9 N = 33 = 27 N이 3의 제곱수일 때 정리 N = 27 일 때 9개의 블록으로 구분 공백 구간 만족 시 그 구간은 .. 2022. 4. 6.
[백준] 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.
[백준] 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.
[Java] java.lang.Integer cannot be cast to java.lang.String 에러메시지 java.lang.Integer cannot be cast to java.lang.String 에러 원인 MyBatis에서 쿼리의 resultType="Map"일 때 Number(int) 타입 ➡ String으로 형변환 시도 시 에러 발생 String value = (String) map.get("count"); 해결 방법 형변환이 아닌, String 클래스의 String.valueOf(Object) 활용 String value = String.valueOf(map.get("count")); 2022. 3. 30.
[백준] 4948번 : 베르트랑 공준 - Java https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 참고 유형 https://unknownomad.tistory.com/147 [백준] 1978번 : 소수 찾기 - Java https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 주의점 소수 1과.. unk.. 2022. 3. 29.
[백준] 1929번 : 소수 구하기 - Java https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 참고 유형 https://unknownomad.tistory.com/147 [백준] 1978번 : 소수 찾기 - Java https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 주의점 소수 1과.. unknownomad.tistory.com 구.. 2022. 3. 29.