ALGORITHM 299

[JAVA] 백준 2775번- 부녀회장이 될테야

https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static int countPeople(int k, int n){ if(k==0) return n; // 0층일 경우 n명 if(n==1) return 1; // 1호일 경우 사람의 수는 무조건 1명 return (countP..

ALGORITHM 2022.08.24

[JAVA] 백준 10757번- 큰 수 A+B

https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt..

ALGORITHM 2022.08.22

[JAVA] 알고리즘 : DFS- 부분집합 구하기

1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하라.(공집합은 출력하지 않는다.) class Main{ static int n; static int[] ch; // 원소를 사용하는지 체크하는 배열 public void DFS(int L){ if(L==n+1){ // 종착점에 왔을 때 String tmp=""; for(int i=1; i0) System.out.println(tmp);// 공집합이 아닐때만 출력 } else{ ch[L]=1; DFS(L+1); ch[L]=0; DFS(L+1); } } public static void main(String[] args){ Main T=new Main(); n=3; ch=new int[n+1]; // 숫자를 인덱스로 하기 위해 T.DFS(1); } }

ALGORITHM 2022.08.22

[JAVA] 백준 9742번- 순열

https://www.acmicpc.net/problem/9742 9742번: 순열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 문자열은 서로 다른 숫자와 알파벳으로 이루어져 있으며, 길이는 최대 10이다. 또한, 사전 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ private static int totalCount, num; private static boolean visit[]; // 중복 방지 위해 ..

ALGORITHM 2022.08.21

[JAVA] 백준 15651번- N과 M(3)

https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 // public stati..

ALGORITHM 2022.08.21

[JAVA] 백준 15650번- N과 M(2)

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 public static b..

ALGORITHM 2022.08.20

[JAVA] 알고리즘 : DFS- 이진트리순회

class Node{ int data; Node lt, rt; // 인스턴스 변수-노드라는 클래스의 객체 주소를 저장 public Node(int val){ data=val; lt=rt=null; } } public class Main{ Node root; public void DFS(Node root){ if(root==null) return; // 말단 노드라면 else{ // System.out.print(root.data+" "); // 전위 순회 DFS(root.lt); // System.out.print(root.data+" "); // 중위 순회 DFS(root.rt); // System.out.print(root.data+" "); // 후위 순회 } } public static void ..

ALGORITHM 2022.08.15

[JAVA] 백준 15649번- N과 M(1)

https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 public static b..

ALGORITHM 2022.08.15

[JAVA] 알고리즘 : DFS- 피보나치 재귀(메모이제이션)

class Main{ public int DFS(int n){ if(n==1) return 1; else if(n==2) return 1; else return DFS(n-2)+DFS(n-1); } public static void main(String[] args) { Main T = new Main(); int n=7; for(int i=1; i0) return fibo[n]; // 배열에 값이 이미 있다면 바로 리턴 if(n==1) return fibo[n]=1; else if(n==2) return fibo[n]=2; else return fibo[n]=DFS(n-2)+DFS(n-1); } public static void main(String[] args) { Main T = new Main()..

ALGORITHM 2022.08.10