일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- major gc
- __name__
- 삼성소프트웨어
- Spring
- 화살표함수
- 파이썬스럽게
- minmax
- 우선순위큐
- 음료수얼려먹기
- 백준
- 미로탈출
- WebMvcConfigurer
- SWEA
- 2606
- heapq
- pep8
- 이코테
- 파이썬컨벤션
- Arecode
- dfs
- setviewname
- 2667
- 2178
- addAttribute
- 미로탐색
- 단지번호붙이기
- React
- JWT
- MSSQL
- BFS
- Today
- Total
목록백준 (5)
하루하루는 성실하게 인생 전체는 되는대로
from collections import deque n, k = map(int, input().split()) # 하나씩 끝까지 파볼(dfs) 필요 없이, 가까운 노드부터 확인하다가 # 종착점 도착하면 끝내면 되므로 BFS!! def bfs(): que = deque() que.append(n) while que: x=que.popleft() if x==k: print(dist[x]) break for nx in (x-1,x+1,x*2): # dist[nx]=0(False)이어야 아래가 참이 됨.(이유:재방문 못하게) if 0
from collections import deque n = int(input()) m = int(input()) com = {i:[] for i in range(1, n+1)} for i in range(m): x, y = map(int, input().split()) com[x].append(y) com[y].append(x) def bfs(x): visit=[] que = deque() que.append(x) while que: x = que.popleft() visit.append(x) for i in com[x]: if i in visit: continue if i in que: continue que.append(i) print (len(visit)-1) bfs(1) 풀이 평가 : 30분 넘..
from collections import deque n, m = map(int, input().split()) graph = [list(map(int, input())) for i in range(n)] def bfs(x,y): que = deque() que.append((x, y)) while que: x, y = que.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx=n or ny=m: continue if graph[nx][ny]==0: continue if graph[nx][ny]==1: graph[nx][ny]=graph[x][y]+1 que.append((nx, ny)) dx = [-1,1,0,0] dy = [0,0,-1,..
n = int(input()) mapp = [] result = 0 real = 0 total = [] for i in range(n): mapp.append(list(map(int, input()))) def house(x, y): if x=n or y=n: return False if mapp[x][y]==1: mapp[x][y]=0 global result result += 1 house(x-1,y) house(x+1,y) house(x,y-1) house(x,y+1) return result return False for i in range(n): for j in range(n): a = house(i,j) if a != False: total.append(a) result = 0 real+=1 ..
n ,m, v = map(int, input().split()) #아래 한 줄이 핵심!! 아예 2차원 공간을 미리 구성해놓는다는 것! grp = [[0]*(n+1) for i in range(n+1)] for i in range(m): a, b = map(int, input().split()) #어느 쪽이든 1 표시 (양방향이니까) grp[a][b]=grp[b][a]=1 #방문기록도 표시 visit = [0]*(n+1) def dfs(V): visit[V]=1 print(V, end=' ') for i in range(1, n+1): if visit[i]==0 and grp[V][i]==1: dfs(i) #여기서 for문 빠져나올 필요 없이, 쭉 돌리면 됨 #어차피 숫자 작은 것부터 먼저 시행되게 돼있고..