백준 33

[python] 백준 1890번: 점프(DP)

# 1890 점프 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N = int(input()) board = [list(map(int, input().split())) for _ in range(N)] dp = [[0] * N for _ in range(N)] dp[0][0] = 1 for i in range(N): for j in range(N): if ..

Algorithm 2023.02.10

[python] 백준 11048번: 이동하기(DP)

# 11048 이동하기 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) candy = [list(map(int, input().split())) for _ in range(N)] dp = [[0] * (M + 1) for _ in range(N+1)] for i in range(1, N + 1):..

Algorithm 2023.02.10

[python] 백준 1149번: RGB거리(DP)

# 1149 RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N = int(input()) house = [] for _ in range(N): R, G, B = map(int, input().split()) house.append([R, G, B]) for i in range(1, len(house)): house[i][0] = hou..

Algorithm 2023.02.08

[python] 백준 1697번: 숨바꼭질(BFS)

# 1697 숨바꼭 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque N, K = map(int, input().split()) MAX = 100001 visited = [-1] * MAX visited[N] = 0 # 수빈이의 위치 방문처리 queue = deque() queue.appen..

Algorithm 2023.02.04

[python] 백준 3184번: 양(BFS)

# 3184 양 https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque R, C = map(int, input().split()) graph = [list(map(str, input().strip())) for _ in range(R)] visited = [[0] * C for _ in range(R)] dx,..

Algorithm 2023.01.30

[python] 백준 2468번: 안전 영역(BFS)

# 2468 안전 영역 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque N = int(input()) graph = [list(map(int, input().split())) for _ in range(N)] high = 0 for i in range(N): for j in range(N): if graph[i][j] > ..

Algorithm 2023.01.28

[python] 백준 2178번: 미로 탐색(BFS)

# 2178 미로 탐색 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque N, M = map(int, input().split()) graph = [list(map(int, input().strip())) for _ in range(N)] visited = [[-1] * M for _ in range(N)] dx, dy = [0,0,-1,1], [-..

Algorithm 2023.01.27

[python] 백준 14226번: 이모티콘(BFS)

# 14426 이모티콘 https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque S = int(input()) visited = [[-1] * (S + 1) for _ in range(S + 1)] queue = deque() queue.append((1,0)) visited[1][0] = 0 while queue: scree..

Algorithm 2023.01.26

[python]백준 11659번: 구간 합 구하기 4(구간합)

# 11659 구간 합 구하기 4 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) num_list = list(map(int, input().split())) sum_list = [0] result = 0 for i in range(len(num_l..

Algorithm 2023.01.22

[python]백준 11724번: 연결 요소의 개수(그래프)

# 11724 연결 요소의 개수 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline sys.setrecursionlimit(10**7) N, M = map(int, input().split()) graph = [[] for i in range(N+1)] visited = [0] * (N+1) for _ in r..

Algorithm 2023.01.22
728x90