구현 309

백준(Python) 17143번 낚시왕 풀이

Python으로 구현한 17143번 낚시왕 문제 풀이입니다. https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net r, c, m = map(int, input().split()) # 위 아래 오른쪽 왼쪽 dx = [-1, 1, 0, 0] dy = [0, 0, 1, -1] result = 0 data = [[[] for _ in range(c)] for _ in range(r)] for _ in range(m) : x, y, s, ..

백준(Python) 12100번 2048 (Easy) 풀이

Python으로 구현한 12100번 Easy 문제 풀이입니다. https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net from copy import deepcopy n = int(input()) data = [list(map(int, input().split())) for _ in range(n)] result = 0 def left(board) : for i in range(n) : p = 0 # 열의 가장 좌측 x = ..

백준(Python) 20057번 마법사 상어와 토네이도 풀이

Python으로 구현한 20057번 마법사 상어와 토네이도 문제 풀이입니다. https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net n = int(input()) data = [list(map(int, input().split())) for _ in range(n)] x, y = n // 2, n // 2 dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] windx = [ # left [-1, 1, -..

백준(Python) 23288번 주사위 굴리기 2 풀이

Python으로 구현한 23288번 주사위 굴리기 2 문제 풀이입니다. https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net from collections import deque import copy n, m, k = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] ball = [2, 4, 1, 3, 5, 6] # 초기 주사위 (..

백준(Python) 19238번 스타트 택시 풀이

Python으로 구현한 19238번 스타트 택시 문제 풀이입니다. https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net from collections import deque n, m, cost = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] car_x, car_y = map(int, input().spli..

백준(Python) 17822번 원판 돌리기 풀이

Python으로 구현한 17822번 원판 돌리기 문제 풀이입니다. https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net from collections import deque n, m, t = map(int, input().split()) data = [deque(int(x) for x in input().split()) for _ in range(n)] for tc in range(t) : x, d, k = map(int, input..

백준(Python) 14890번 경사로 풀이

Python으로 구현한 14890번 경사로 문제 풀이입니다. https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net n, l = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] result = 0 def pos(now) : for j in range(1, n) : if abs(now[j] - now[j-1]) > 1 : # 차이가 1이 넘으면 False 반환 return ..

백준(Python) 20058번 마법사 상어와 파이어스톰 풀이

Python으로 구현한 20058번 마법사 상어와 파이어스톰 문제 풀이입니다. https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net from collections import deque n, q = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(2 ** n)] l = list(map(int, input().split())) max_l..

백준(Python) 20056번 마법사 상어와 파이어볼 풀이

Python으로 구현한 20056번 마법사 상어와 파이어볼 문제 풀이입니다. https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net from collections import deque dx = [-1, -1, 0, 1, 1, 1, 0, -1] dy = [0, 1, 1, 1, 0, -1, -1, -1] n, m, k = map(int, input().split()) q = deque() data = [[deque..

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

Python으로 구현한 17779번 게리맨더링 2 문제 풀이입니다. https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net n = int(input()) data = [[0] * (n + 1)] + [[0] + list(map(int, input().split())) for _ in range(n)] total = 0 for i in range(1, n + 1) : total += sum(data[i]) def solution(x, y, d1, d2) : ..