본문 바로가기

구현12

[백준] 19238번 - 스타트 택시 (파이썬) # 스타트 택시 from collections import deque import sys input = sys.stdin.readline N, M, fuel = map(int, input().split()) # 지도 arr = [[]] for _ in range(N): arr.append([0]+list(map(int, input().split()))) # 현재 위치 taxi = list(map(int, input().split())) # 사람들 정보 people = [] for _ in range(M): people.append(list(map(int, input().split()))) dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] def find_person(): tx, ty =.. 2022. 5. 14.
[백준] 20056번 - 마법사 상어와 파이어볼 (파이썬) # 마법사 상어와 파이어볼 import sys input = sys.stdin.readline 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()) fireball_info = [] for _ in range(M): x, y, big, speed, dir = map(int, input().split()) fireball_info.append([x, y, big, speed, dir]) def fireball_move(): # fireball의 좌표를 집합으로 관리 (중복값없게) fireballs = set() # 각 위치별 fireball 표시 temp = [[[] for _ .. 2022. 3. 20.
[백준] 19237번 - 어른 상어 (파이썬) # 어른 상어 import copy import sys input = sys.stdin.readline N, M, k = map(int, input().split()) arr = [] shark = [] history = [[0] * N for _ in range(N)] history_index = [] for i in range(N): arr.append(list(map(int, input().split()))) for j in range(N): if arr[i][j] != 0: arr[i][j] = arr[i][j] history[i][j] = k history_index.append((i, j)) shark.append([arr[i][j], i, j]) shark_dir = [0]+list(map(.. 2022. 3. 19.
[백준] 17852번 - 주사위 윷놀이 (파이썬) # 주사위 윷놀이 import copy move = list(map(int, input().split())) horse = [[0, 0], [0, 0], [0, 0], [0, 0]] road = [[i for i in range(0, 41, 2)], [i for i in range( 0, 11, 2)]+[13, 16, 19], [i for i in range(0, 25, 2)], [i for i in range(0, 31, 2)]+[28, 27, 26], [25, 30, 35, 40]] def back_tracking(x, result, horse): global answer if x == 10: answer = max(answer, result) return for k in range(4): # 도착한.. 2022. 3. 18.
[프로그래머스] Lv1 - 크레인 인형뽑기 게임 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): stack = [] result = 0 for x in moves: for i in range(len(board)): target = board[i][x-1] if target != 0: board[i][x-1] = 0 if stack and stack[-1] == target: stack.pop() result += 2 else: sta.. 2022. 3. 16.
[백준] 19236번 - 청소년 상어 (파이썬) # 청소년 상어 import copy dx = [0, -1, -1, 0, 1, 1, 1, 0, -1] dy = [0, 0, -1, -1, -1, 0, 1, 1, 1] arr = [] fish = [[0]] for k in range(4): temp = list(map(int, input().split())) arr.append([temp[i] for i in range(0, len(temp), 2)]) for i in range(0, len(temp), 2): fish.append([temp[i], [k, i//2, temp[i+1]]]) def fish_move(arr, fish): for i, temp in enumerate(fish): if i != 0: x, info = temp if not ea.. 2022. 3. 12.
[백준] 17822번 - 원판 돌리기 (파이썬) # 원판 돌리기 from collections import deque import sys intput = sys.stdin.readline N, M, T = map(int, input().split()) dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] arr = [] for _ in range(N): arr.append(deque(map(int, input().split()))) order = [] for _ in range(T): order.append(list(map(int, input().split()))) def rolling(n, dir): for x in range(n, N+1, n): if dir == 0: temp = arr[x-1].pop() arr[x-1].appen.. 2022. 3. 8.