본문 바로가기

Algorithm/BFS, DFS33

[백준] 1012번 유기농 배추 굉장히 쉬운 문제인데 내가 Queue를 다루는거에 좀 익숙치 않아서? 라기 보단 좀 코드 라인을 줄이겠다고 꼼수부리다가 꼬여서 엄청 헤멧지만.. 그거 아니였으면 금방 풀었을 문제 난이도가 쉽다.. 그냥 하던거 그대로 풀면됨 from queue import Queue def BFS(x, y): que = Queue() que.put([x, y]) # Queue 초기화시에 put 금지 visited[x][y] = 1 while not que.empty(): tx, ty = que.get() for i in range(len(direction)): nx = tx + direction[i][0] ny = ty + direction[i][1] if 0 2020. 9. 9.
[백준] 2644번 촌수계산 전에 풀었던 BFS 문제에 미로찾기 코드를 조금 섞어서 풀었다 from collections import deque N = int(input()) start, end = map(int, input().split()) M = int(input()) graph = [set([]) for i in range(N + 1)] def bfs(graph, start, end): visited = [] que = deque([start]) qc = deque([0]) counter = 0 while que: node = que.popleft() c = qc.popleft() if node in visited: continue if node == end: counter = c break if node not in vis.. 2020. 9. 8.
[백준] 1926번 그림 어이없게.. 테스트 케이스중 1 1 0 이걸 예외처리를 멍청하게 해서.. 엄청 헤멘... 문제.. 문제는 사실상 단지 번호 붙히기랑 똑같아서 바로 풀 줄 알았으나... 아니였다... from queue import Queue N, M = map(int, input().split()) mapData = [list(map(int, input().split())) for _ in range(N)] visited = [[0] * M for _ in range(N)] direction = [[-1, 0], [1, 0], [0, 1], [0, -1]] counter = [] def bfs(x, y): que = Queue() que.put([x,y]) visited[x][y] = 1 count = 1 while n.. 2020. 9. 7.
[백준] 10809번 알파벳 찾기 쉬운 문제 ans = [ -1 for i in range(26) ] x = input() for i in range(len(x)): if ans[ord(x[i])- 97] == -1: ans[ord(x[i])- 97] = i for i in range(len(ans)): print(ans[i], end=' ') 2020. 9. 4.