ALGORITHM 299

[JAVA] 백준 2644번 - 촌수 계산

https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ static int[][] arr; static boolean[] visit; static int a, b, n, an..

ALGORITHM 2022.09.25

[JAVA] 알고리즘 : DFS- 조합수(메모이제이션)

메모이제이션 사용하지 않는 방법 import java.util.Arrays; import java.util.Collections; import java.util.Scanner; class Main{ public int DFS(int n, int r){ if(n==r || r==0) return 1; else return DFS(n-1, r-1)+DFS(n-1, r); } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int r = kb.nextInt(); System.out.println(T.DFS(n,r)); } } 메모이제이션 사용한..

ALGORITHM 2022.09.23

[JAVA] 알고리즘 : DFS- 동전 교환

import java.util.Arrays; import java.util.Collections; import java.util.Scanner; class Main{ static int n, m, answer=Integer.MAX_VALUE; public void DFS(int L, int sum, Integer[] arr){ if(sum>m) return; // 합이 거슬러 줄 금액을 넘으면 리턴 if(L>=answer) return; // 탐색하고자하는 동전 수가 구해놓은 최소 동전 개수보다 크다면 리턴 if(sum == m){ // 합이 거슬러 줄 금액이 되었을 때 answer = Math.min(answer, L); // 최소 동전의 개수를 찾음 } else{ for(int i=0; i

ALGORITHM 2022.09.23

[JAVA] 백준 2108번 - 통계학

https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main{ public static final int ABSOLUTE_VAL = 4000; public static void main(String[] args) throws IOE..

ALGORITHM 2022.09.22

[JAVA] 백준 25305번 - 커트라인

https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRea..

ALGORITHM 2022.09.21

[JAVA] 백준 10989번 - 수 정렬하기 3(카운팅 정렬)

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S..

ALGORITHM 2022.09.21