브루트포스 알고리즘 39

백준(JAVA) 3085번 사탕 게임 풀이

Java로 구현한 3085번 사탕 게임 문제 풀이입니다. https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { static int result = 0; static int n; static char[][] data; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integ..

백준(Python) 3085번 사탕 게임 풀이

Python으로 구현한 3085번 사탕 게임 문제 풀이입니다. https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net n = int(input()) data = [list(input()) for _ in range(n)] result = 0 def check_col() : global result for k in range(n) : length = 1 for l in range(n-1) : if data[k][l] == data[k][l+1] : length += 1 result = max(result, length) else : length = 1 def check_..

백준(JAVA) 2309번 일곱 난쟁이 풀이

Java로 구현한 2309번 일곱 난쟁이 문제 풀이입니다. https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int[] data = new int[9]; int sum_value = 0; for (int i=0; i

백준(Python) 2309번 일곱 난쟁이 풀이

Python으로 구현한 2309번 일곱 난쟁이 문제 풀이입니다. https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net def combinations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in combinations(arr[i+1:], r-1) : yield [arr[i]] + next data = [int(input()) for _ in range(9)]..

백준(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) 17281번 ⚾ 풀이

Python으로 구현한 17281번 ⚾ 문제 풀이입니다. https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net def dfs(count) : global result if count == 9 : start, score = 0, 0 for inning in data : b1, b2, b3, out = 0, 0, 0, 0 while out < 3 : pos = select[start] if inning[pos] == 0 : # 아웃 out += 1 elif ..

백준(Python) 17472번 다리 만들기 2 풀이

Python으로 구현한 17472번 다리 만들기 2 문제 풀이입니다. https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net from collections import deque n, m = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] visited = [[False]*m for _ in range(n)] move = [(0..

백준(Python) 17471번 게리맨더링 풀이

Python으로 구현한 17471번 게리맨더링 문제 풀이입니다. https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net from collections import defaultdict, deque def combinations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in combinations(arr[i+1:], r-1) : yield [arr[i]] + next def..

백준(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..