본문 바로가기

문제풀이66

[백준✨] 16566번 <카드 게임> / Python 문제풀이 / 해답) import sys import math def input(): return sys.stdin.readline().rstrip() ''' @@@ 입력받기 @@@ ''' N, M, K = map(int, input().split()) cards = list(map(int, input().split())) targets = list(map(int, input().split())) ''' @@@ 필요한 자료구조 @@@ ''' sqrt_N = int(math.sqrt(N)) cards_presence = [0] * (N+1) # 해당 카드가 존재하는지 dummy = [0] * (sqrt_N+1) # 인덱싱을 하는 역할 for c in cards: cards_presence[c] += 1 dummy[c /.. 2020. 12. 21.
[백준✨] 3055번 <탈출> / Python 문제풀이 / BFS 해답) from collections import deque import sys ''' @@@ 입력받기 @@@ ''' def input(): return sys.stdin.readline().rstrip() R, C = map(int, input().split()) board = [] visited = [[False for _ in range(C)] for _ in range(R)] for _ in range(R): board.append(list(input())) cnt = 0 success = False q = deque([]) dir =[(-1,0),(1,0),(0,1),(0,-1)] ''' @@@ 큐에 현재 물과 고슴도치를 넣어준다. @@@ - 반드시 물부터 넣어주어야함 ''' for r in r.. 2020. 12. 5.
[백준✨] 9328번 <열소> / Python 문제풀이 / 해답) from collections import deque import sys sys.setrecursionlimit(10**8) def input(): return sys.stdin.readline().rstrip() dir = [(0,1),(0,-1),(-1,0),(1,0)] ''' @@@ 기능 함수 @@@ ''' def printBoard(board): # 보드 출력해보기 (디버깅용) print("--- printBoard ---") for line in board: for val in line: print(val, end="") print("") print("-----------------") def parseKeys(keys): # 가지고 있는 키 목록 비트화 (b10000000000....).. 2020. 11. 25.
[백준✨] 12849번 <본대 산책> / Python 문제풀이 / 해답) import sys sys.setrecursionlimit(10**8) def input(): return sys.stdin.readline().rstrip() ''' @@@@ 입력받기 @@@@ ''' N = int(input()) board = [] dp = [[[-1 for _ in range(3)] for _ in range(3)] for _ in range(N)] # 메모이제이션 for _ in range(N): board.append(list(map(int, input().split()))) ''' @@@ 함수들 @@@ ''' def getMin(prevs, color_list): # 고를 수 있는 것 중 최솟값 고르기 res = float('inf') for i in range(3): .. 2020. 11. 22.
[백준✨] 11779번 <최소비용 구하기2> / Python 문제풀이 / 다익스트라 해답) import heapq import sys def input(): return sys.stdin.readline().rstrip() ''' 입력받는 과정 ''' N = int(input()) M = int(input()) graph = [[] for _ in range(N+1)] for _ in range(M): fr, to, cost = map(int, input().split()) graph[fr].append((to,cost)) FROM, TO = map(int, input().split()) ''' 변수 설정 ''' distance = [float('inf') for _ in range(N+1)] # 거리 path = [[] for _ in range(N+1)] # 경로를 담을 배열 pat.. 2020. 11. 10.
[백준✨] 9205번 <맥주 마시며 걸어가기> / Python 문제풀이 / 해답) from collections import deque import sys def input(): return sys.stdin.readline().rstrip() def calDisatance(p1, p2): # 거리 계산 함수 x1, y1 = p1 x2, y2 = p2 return abs(x1-x2) + abs(y1-y2) t = int(input()) for _ in range(t): # 테스트 케이스만큼 반복 CUs = [] # 편의점들 # 입력받기 n = int(input()) home_x, home_y = map(int, input().split()) home = (home_x, home_y) for _ in range(n): CU_x, CU_y = map(int, input().spli.. 2020. 11. 3.