백트래킹 20

백준(JAVA) 15649번 N과 M (1) 풀이

Java로 구현한 15649번 N과 M (1) 문제 풀이입니다. https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[] d..

백준(Python) 15649번 N과 M (1) 풀이

Python으로 구현한 15649번 N과 M (1) 문제 풀이입니다. https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net n, m = map(int, input().split()) def permutations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in permutations(arr[:i] + arr[i+1:], r-1) : yield [ar..

백준(JAVA) 2529번 부등호 풀이

Java로 구현한 2529번 부등호 문제 풀이입니다. https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static int k; static String[] data; static List result = new ArrayList(); static boolean[] flag = new boolean[10]; public static void ..

백준(Python) 2529번 부등호 풀이

Python으로 구현한 2529번 부등호 문제 풀이입니다. https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net ### Case 1 ### # PyPy3 성공 def permutations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in permutations(arr[:i] + arr[i+1:], r - 1) : yield [arr[i]] + nex..

백준(Python) 17406번 배열 돌리기 4 풀이

Python으로 구현한 17406번 배열 돌리기 4 문제 풀이입니다. https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net import copy def permutations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in permutations(arr[:i] + arr[i+1:], r - 1) : yield [arr[i..

백준(JAVA) 2580번 스도쿠 풀이

Java으로 구현한 2580번 스도쿠 문제 풀이입니다. https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static int[][] data; static List empty_list; public static void main(String[] args) throws Exception { BufferedReader br = new Buffere..

백준(Python) 2580번 스도쿠 풀이

Python으로 구현한 2580번 스도쿠 문제 풀이입니다. https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net data = [list(map(int, input().split())) for _ in range(9)] empty_list = [] for i in range(9) : for j in range(9) : if data[i][j] == 0 : empty_list.append((i, j)) def dfs(index) : if index ==..

백준(JAVA) 2661번 좋은수열 풀이

Java으로 구현한 2661번 좋은수열 문제 풀이입니다. https://www.acmicpc.net/problem/2661 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net import java.io.*; public class Main { static int n; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.pa..

백준(Python) 2661번 좋은수열 풀이

Python으로 구현한 2661번 좋은수열 문제 풀이입니다. https://www.acmicpc.net/problem/2661 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net def func(index) : global data for i in range(1, (index // 2) + 1) : if data[-i:] == data[-2*i:-i] : return -1 if index == n : for i in range(n) : print(data[i], end='') return 0 for i in range(1, ..

백준(JAVA) 1182번 부분수열의 합 풀이

Java으로 구현한 1182번 부분수열의 합 문제 풀이입니다. https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net import java.util.*; public class Main { static int result; static int s; public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); ..