coding test/Baekjoon
[Python] 13913번 숨바꼭질 4
https://www.acmicpc.net/problem/13913체감 난이도: ★★★★☆import sysinput=sys.stdin.readlinefrom collections import deque#dfsdef bfs(n): MAX=100001 #메모리초과 방지 prev=[-1]*MAX #이전 경로 저장 dist=[0]*MAX #시간 count prev[n]=100001 #현재 위치 저장 queue=deque([n]) while queue: x=queue.popleft() #만약 동생 위치 도착하면 if x==K: break for nx in (x-1,x+1,x*2): if 0 ..
coding test/Baekjoon
[Python] 2667번 단지번호붙이기
https://www.acmicpc.net/problem/26672667번 문제는 저번에도 풀어봤고 이번에 다시 복습해보았다. 확실히 한 번 풀었어서 그런지 빨리 풀렸다. import sysinput = sys.stdin.readline#bfsdy=[0,1,-1,0]dx=[-1,0,0,1]def bfs(y,x,res): cnt=0 queue=[[y,x]] while queue: cnt+=1 curr=queue.pop(0) for d in range(4): ny=dy[d]+curr[0] nx=dx[d]+curr[1] if 0 저번에 풀 때는 입력을 문자열로 받아서 문자열 '1'과 '0'으..
coding test/Baekjoon
[Python] 2583번 영역 구하기 / DFS
https://www.acmicpc.net/problem/2583 피드백을 바탕으로 수정한 코드 -->#4방향 모두 탐지dx=[-1,0,0,1]dy=[0,-1,1,0]def dfs(x,y): ''' if board[y][x]==1: return ''' cnt=1 board[y][x]=1 #방문처리 stack=[[x,y]] while stack: s=stack.pop() #board[s[1]][s[0]]=1 #방문처리 for d in range(4): #굳이 8방향으로 탐색할 이유가? -> 4방향으로 해두 됌 nx=s[0]+dx[d] ny=s[1]+dy[d] ..
coding test/Baekjoon
[Python] 1260번 DFS와 BFS
https://www.acmicpc.net/problem/1260 코테 준비하면서 오랜만에 다시 보게 된 DFS와 BFS DFS를 풀 때는 재귀함수를 통해서, BFS를 풀 때는 queue를 통해서 풀었다.def bfs(qu,visited): while qu: q=qu.pop(0) if visited[q]==True: pass else: print(q,end=' ') visited[q]=True for i in range(n+1): if matrix[q][i]==1 and visited[i]==False: qu.append(i..