자바 203

[JAVA] 백준 1181번 - 단어 정렬

https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br..

ALGORITHM 2022.09.28

[JAVA] 백준 11651번 - 좌표 정렬하기2

https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.awt.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.Stri..

ALGORITHM 2022.09.28

[JAVA] 백준 11650번 - 좌표 정렬하기

https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.awt.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.String..

ALGORITHM 2022.09.28

[JAVA] 백준 1427번 - 소트인사이드

https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new..

ALGORITHM 2022.09.27

[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