Problem Solving/Baekjoon
-
[백준] 10819번 문제 (차이를 최대로) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 2. 14:30
https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net from itertools import permutations n = int(input()) nums = list(map(int, input().split())) max_num = 0 for p in permutations(nums, n): tmp_num = 0 for i in range(1, n): tmp_num += abs(p[i - 1] - p[i]) max_num = max(max_num, tmp_num..
-
[백준] 10974번 문제 (모든 순열) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:55
https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net n = int(input()) temp = [] def dfs(): if len(temp) == n: print(*temp) return for i in range(1, n + 1): if i not in temp: temp.append(i) dfs() temp.pop() dfs() 모든 순열을 탐색해서 출력하면 된다. dfs를 통해 백트래킹을 했고 출력을 했다. 순열을 구하기 위해 위의 테크닉을 잘 알고 있으면 좋을 것 같다.
-
[백준] 15666번 문제 (N과 M (12)) 파이썬(Python) 및 자바(Java) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:52
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 파이썬 풀이 n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) temp = [] def dfs(start): if len(temp) == m: print(*temp) return remember_me = 0 for i in range(start, n): if remember_me != nums[i]: ..
-
[백준] 15665번 문제 (N과 M (11)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:47
https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) temp = [] def dfs(): if len(temp) == m: print(*temp) return remember_me = 0 for i in range(n): if remember_me != nums[i]: temp.append(nums[i]..
-
[백준] 15664번 문제 (N과 M (10)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:43
https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) visited = [False] * n temp = [] def dfs(start): if len(temp) == m: print(*temp) return remember_me = 0 for i in range(start, n): if not visit..
-
[백준] 15663번 문제 (N과 M (9)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:39
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) visited = [False] * n temp = [] def dfs(): if len(temp) == m: print(*temp) return remember_me = 0 for i in range(n): if not visited[i] and rem..
-
[백준] 15657번 문제 (N과 M (8)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:35
https://www.acmicpc.net/problem/15657 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) temp = [] def dfs(start): if len(temp) == m: print(*temp) return for i in range(start, n): temp.append(nums[i]) dfs(i) temp.pop() dfs(0) h..
-
[백준] 15656번 문제 (N과 M (7)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 12:02
https://www.acmicpc.net/problem/15656 15656번: N과 M (7) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) temp = [] def dfs(): if len(temp) == m: print(*temp) return for i in range(n): temp.append(nums[i]) dfs() temp.pop() dfs() https://honggom..
-
[백준] 15655번 문제 (N과 M (6)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 11:58
https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) temp = [] def dfs(start): if len(temp) == m: print(*temp) return for i in range(start, n): if nums[i] not in temp: temp.append(nums[i]) df..
-
[백준] 15654번 문제 (N과 M (5)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 11:56
https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) temp = [] def dfs(): if len(temp) == m: print(*temp) return for i in range(n): if nums[i] not in temp: temp.append(nums[i]) dfs() temp.pop..