전체 글51 [백준] 14940 쉬운 최단거리(파이썬/python) 🎈문제 https://www.acmicpc.net/problem/20955 🎁어떤 알고리즘? 1. union-find 알고리즘 💻코드 # 20955 민서의 응급 수술 # import sys # input = sys.stdin.readline def find(x): if parent[x] != x: parent[x] = find(parent[x]) return parent[x] def union(a,b): ra = find(a) rb = find(b) parent[ra] = parent[rb] = min(ra,rb) # 1. 입력 n,m = map(int,input().split()) parent = [i for i in range(n+1)] cnt = 0 for _ in range(m): u,v = ma.. 2023. 8. 17. [백준] 16985 Maaaaaaaaaze(파이썬/python) 🎈문제 https://www.acmicpc.net/problem/16985 🎁어떤 알고리즘? 1.입력받기 2. 층 별로 permuation(순열) 찾기 3. 회전 -> 90도씩 반복 4. 탐색 -> bfs 5. 최소 횟수 -> bfs돌린 결과 나올 때 마다 작은수 업데이트 # 다 풀고 제출하니 시간초과가 떠서 당황했다. 밑에 코드에 # 시간 단축 이라고 주석을 달아놓은 코드는 시간초과를 해결하기 위한 코드이다. 💻코드 # 16985 Maaaaaaaaaze ''' 1.입력받기 2. 층 별로 permuation(순열) 찾기 3. 회전 -> 90도씩 반복 4. 탐색 -> bfs 5. 최소 횟수 -> bfs돌린 결과 나올 때 마다 작은수 업데이트 ''' from itertools import permutatio.. 2023. 8. 16. [백준] 14940 쉬운 최단거리(파이썬/python) 🎈문제 https://www.acmicpc.net/problem/14940 🎁어떤 알고리즘? 1. 2차원 배열에서 최단거리 -> bfs 바로 떠올려야 된다! 💻코드 # 14940 쉬운 최단거리 from collections import deque # 2. 목표 지점 좌표 찾는 함수 구현 def Search(): for i in range(n): for j in range(m): if graph[i][j] == 2: # 3. 탐색 Bfs(i,j) return # 3. bfs 탐색 함수 구현 def Bfs(x,y): deq = deque() deq.append([x,y]) graph[x][y] = 0 visit[x][y] = True dx = [0,0,-1,1] dy = [1,-1,0,0] while deq.. 2023. 8. 15. [백준] 2194 유닛 이동시키기 (파이썬/python) bfs 🎈문제 https://www.acmicpc.net/problem/2194 🎁어떤 알고리즘? 1. 최소 이동 횟수라는 말을 보자마자 bfs가 떠올라야 한다! 💻 코드 # 2194 유닛 이동시키기 ''' 최소 이동 횟수 -> bfs 고려 1. 유닛을 graph에서 어떤식으로 표현할지? 2. 장애물과의 충돌을 어떻게 판단할지? 3. 유닛의 이동을 어떻게 처리할지? 4. 유닛의 도착을 어떻게 처리할지? unit unit의 크기에 맞게 for문 돌면서 장애물과 부딪히는지를 판단하면 될 듯? ''' from collections import deque # 유닛이 움직일 수 있는지 판단하는 함수 구현 def Unit_check(x,y): ''' unit이 graph밖으로 나가면 False unit이 장애물을 만나면 .. 2023. 8. 14. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음