#문제링크 https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net #나의풀이 import sys from collections import deque delta = [[-1, 0], [0, 1], [1, 0], [0, -1]] board = [] R = 0 C = 0 answer = 0 def BFS(i, j): global answer check = [[2147000000] * C for _ in range(R)] check[i][j] = 0 queue..
#문제링크 https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net #나의풀이 import sys def reverse(x, y): for i in range(x,x+3): for j in range(y, y+3): first_matrix[i][j] = 1 - first_matrix[i][j] if __name__=="__main__": N, M = map(int, sys.stdin.readline().split()) first_matrix = [[0] * M for..
#문제링크 https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net #나의풀이 import sys if __name__=="__main__": T = int(sys.stdin.readline()) for k in range(T): N = int(sys.stdin.readline()) phoneBook = [] flag = True for _ in range(N): phoneBook.append(sys.stdin.readline()..
#문제링크 https://www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net #나의풀이 import sys answer = [] visited = [0] * 10 N = 0 def check(num1, num2, op): if op == '>': if int(num1) > int(num2): return True if op == '
#문제링크 https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net #나의풀이 import sys if __name__=="__main__": T = int(sys.stdin.readline()) ent = {} exit = [] for i in range(T): tmp = sys.stdin.readline().strip() ent[tmp] = i for _ in range(T): exit.append(sys.stdin.readline(..
#문제링크 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net #나의풀이 import sys import heapq def dijkstra(start): dp[start] = 0 heap = [] heapq.heappush(heap, [0, start]) while heap: w, cur = heapq.heappop(heap) if dp[cur] < w: continue for dest, weight in grap..