백준 624

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

백준(JAVA) 1149번 RGB거리 풀이

Java으로 구현한 1149번 RGB거리 문제 풀이입니다. https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(S..

백준(Python) 1149번 RGB거리 풀이

Python으로 구현한 1149번 RGB거리 문제 풀이입니다. https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net n = int(input()) data = [list(map(int, input().split())) for _ in range(n)] for i in range(1, n): data[i][0] = min(data[i-1][1], data[i-1][2]) + data[i][0] data[i][1] = min(dat..

백준(JAVA) 1003번 피보나치 함수 풀이

Java으로 구현한 1003번 피보나치 함수 문제 풀이입니다. https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { static List zero = new ArrayList(); static List one = new ArrayList(); public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamRe..

백준(Python) 1003번 피보나치 함수 풀이

Python으로 구현한 1003번 피보나치 함수 문제 풀이입니다. https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net def fibo(num) : length = len(zero) if num >= length : for i in range(length, num + 1) : zero.append(zero[i-1] + zero[i-2]) one.append(one[i-1] + one[i-2]) print(zero[num], one[num]) t = int(input()) zero = [1, 0, 1] # 0일때 1개, 1일때 0개, 2일때 1개 ..

백준(JAVA) 2606번 바이러스 풀이

Java으로 구현한 2606번 바이러스 문제 풀이입니다. https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net import java.util.*; public class Main { static boolean[] flag; static Map map = new HashMap(); static int result = 0; public static void main(String[] args) throws Exception { Scanner sc = new S..

백준(Python) 2606번 바이러스 풀이

Python으로 구현한 2606번 바이러스 문제 풀이입니다. https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net from collections import defaultdict, deque def bfs(num) : global result flag[num] = True q = deque() q.append(num) while q : value = q.popleft() for v in dict[value] : if flag[v] == False : fl..

백준(JAVA) 2178번 미로 탐색 풀이

Java으로 구현한 2178번 미로 탐색 문제 풀이입니다. https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net import java.util.*; public class Main { static int n, m; static int[][] data = new int[101][101]; static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; public static void main(String[] args) throw..