gold 40

백준(JAVA) 2206번 벽 부수고 이동하기 풀이

Java으로 구현한 2206번 벽 부수고 이동하기 문제 풀이입니다. https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net import java.util.*; import java.io.*; public class Main { static int n, m; static int[][] data; static int[][][] visited; static int[] dx = {-1, 1, 0, 0}; static int[] dy ..

백준(Python) 2206번 벽 부수고 이동하기 풀이

Python으로 구현한 2206번 벽 부수고 이동하기 문제 풀이입니다. https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net from collections import deque n, m = map(int, input().split()) data = [list(map(int, input())) for _ in range(n)] visited = [[[0] * 2 for _ in range(m)] for _ in range(n..

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

백준(JAVA) 1016번 제곱 ㄴㄴ 수 풀이

Java으로 구현한 1016번 제곱 ㄴㄴ 수 문제 풀이입니다. https://www.acmicpc.net/problem/1016 1016번: 제곱 ㄴㄴ 수 어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); long min = sc.nextLong(); long max = sc.next..

백준(Python) 1016번 제곱 ㄴㄴ 수 풀이

Python으로 구현한 1016번 제곱 ㄴㄴ 수 문제 풀이입니다. https://www.acmicpc.net/problem/1016 1016번: 제곱 ㄴㄴ 수 어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수 www.acmicpc.net min_in, max_in = map(int, input().split()) size = max_in - min_in + 1 visited = [False] * size i = 2 while i * i

백준(JAVA) 15711번 환상의 짝꿍 풀이

Java으로 구현한 15711번 환상의 짝꿍 문제 풀이입니다. https://www.acmicpc.net/problem/15711 15711번: 환상의 짝꿍 환상의 나라 디디랜드에서는 인연의 증표로 끈을 하나씩 가지고 있다. 그들은 지극히 평범한 방법으로 이 끈을 이용하여 어떤 두 사람이 환상의 짝꿍인지 판단하는데, 두 사람의 끈을 서로 이 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static final int MAX = 2000000; static boolean[] data = new boolean[MAX+1]; static List primes = new ArrayList(); public static void..

백준(Python) 15711번 환상의 짝꿍 풀이

Python으로 구현한 15711번 환상의 짝꿍 문제 풀이입니다. https://www.acmicpc.net/problem/15711 15711번: 환상의 짝꿍 환상의 나라 디디랜드에서는 인연의 증표로 끈을 하나씩 가지고 있다. 그들은 지극히 평범한 방법으로 이 끈을 이용하여 어떤 두 사람이 환상의 짝꿍인지 판단하는데, 두 사람의 끈을 서로 이 www.acmicpc.net def is_prime(value) : if value > max_value : for prime in primes : if prime >= value : break elif value % prime == 0 : return False return True else : return data[value] max_value = 200000..

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

백준(JAVA) 1644번 소수의 연속합 풀이

Java으로 구현한 1644번 소수의 연속합 문제 풀이입니다. https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); boolean[] flag = new bool..