[Python] 백준 #18404- 현명한 나이트
·
코딩테스트/백준[Python]
문제 18404번: 현명한 나이트 첫째 줄에 N과 M이 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ N ≤ 500, 1 ≤ M ≤ 1,000) 둘째 줄에 나이트의 위치 (X, Y)를 의미하는 X와 Y가 공백을 기준으로 구분되어 자연수로 주어진다. ( www.acmicpc.net 코드 My answer from collections import deque from itertools import product import sys input = sys.stdin.readline n, m = map(int, input().split()) # 판 크기, 상대편 수 x, y = map(int, input().split()) # 나이트 위치 visit = [[0]*(n+1) for i in range(n+1..
[Python] 백준 #12851- 숨바꼭질 2
·
코딩테스트/백준[Python]
문제 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 코드 My answer import sys from collections import deque def bfs(idx): result = 0 Q=deque() Q.append(idx) while Q: a=Q.popleft() direct[2]=a if(a==k): result+=1 continue for i in range(3): new_a=a+direct[i] if(0
[Python] 백준 #4963- 섬의 개수
·
코딩테스트/백준[Python]
문제 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 코드 My answer import sys from collections import deque input= sys.stdin.readline direct=[[1,0],[-1,0],[0,1],[0,-1],[1,-1],[1,1],[-1,-1],[-1,1]] def bfs(x,y): Q=deque() Q.append((x,y)) visit[x][y]=1 while Q: x,y=Q.popleft() for i in range(8): n_x,n_y=x+dir..
[Python] 백준 #2667- 단지번호붙이기
·
코딩테스트/백준[Python]
문제 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 코드 My answer import sys from collections import deque input= sys.stdin.readline n=int(input()) graph=[input().rstrip() for _ in range(n)] visit=[[0]*(n) for _ in range(n)] direct=[[0,1],[0,-1],[1,0],[-1,0]] answer=[] def bfs(x,y): Q=deque() Q.append((x,y)) v..
[Python] 백준 #2178- 미로 탐색
·
코딩테스트/백준[Python]
문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 코드 My answer import sys from collections import deque input= sys.stdin.readline n,m=map(int,input().split()) graph=[input().rstrip() for _ in range(n)] visit=[[0]*(m) for _ in range(n)] direct=[[0,1],[0,-1],[1,0],[-1,0]] def bfs(x,y): Q=deque() Q.append((x,y)) visit[x][y]=1 ..
[Python] 백준 #1012- 유기농 배추
·
코딩테스트/백준[Python]
문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 코드 My answer import sys from collections import deque input= sys.stdin.readline t=int(input()) direct=[[-1,0],[1,0],[0,-1],[0,1]] def dfs(idx1,idx2): visit[idx1][idx2]=1 for i in direct: n_idx1=idx1+i[0] n_idx2=idx2+i[1] if(n_idx1>=0 and n_idx1=0 and n_idx2=0 and ..