목록백트래킹 (28)
-

# 주소 https://www.acmicpc.net/problem/169224 16922번: 로마 숫자 만들기 2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다. www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.Scanner; public class Main { static int N; static int num[]; static int sum[]; static int res; public static void main(String[] args) { Scanner scan = new Scanner(System.in); N = scan.nextInt(); num = new int []{1, 5, 10, 50}; sum = n..

# 주소 https://www.acmicpc.net/problem/5550 5550번: 헌책방 상근이가 살고있는 도시에는 헌책방이 있다. 데이트 비용을 점점 감당할 수 없게된 상근이는 집에 있는 책을 헌책방에 팔려고 한다. 각 책에는 기준 가격이 정해져있고, 헌책방은 이 가격으로 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.ArrayList; import java.util.Scanner; public class Main { static int n,m; static int[] arr; static int[] ans; static boolean[] visit; static long max = -50; static int[] ten; static long s..

# 주소 https://www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; public class Main{ static int[] arr,ans; static int sum; static boolean[] visit; static StringBuilder sb; public static void main(String[] args){ Scanner scan = new Scanner..

# 주소 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 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 int n; s..

# 주소 https://www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main{ static boolean[] check = new boolean[10]; // 0~9까지 check static int n; static char[] a = new char[10]..

# 주소 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net # 문제 # 문제 해설 및 코드리뷰 import java.util.*; public class Main{ static int[][] arr; static int n; static boolean[] visit; static int sum[]; static int min = Integer.MAX_VALUE; public static void main(String[] args) { Scanner scan = new..