본문 바로가기
코딩 테스트/do it! 알고리즘 코딩테스트

026 DFS와 BFS

by ornni 2024. 5. 14.
728x90
반응형

첫번째 코드

 

먼저 이번에는 DFS는 꼭 답안을 참고할일을 없애보자...! 라는 목표!

BFS는 처음 접하는거니까 기억하면서 풀어보자!

였는데 그래도 DFS는 차근차근 다른 문제 참고하면서 작성한 것 같다! 그리고 느껴지는 건 BFS가 좀 더 코드는 쉬운 느낌이다! (앞으로 혼자 뚝딱할 정도라고는 안했다 ㅎㅎㅎ;;)

 

import sys
from collections import deque
input = sys.stdin.readline
sys.setrecursionlimit(10000)

n, m, v = map(int, input().split())
A = [[] for _ in range(n+1)]
visited = [False] * (n+1)

def DFS(x):
    print(x, end = ' ')
    visited[x] = True
    for i in A[x]:
        if not visited[i]:
            DFS(i)

for _ in range(m):
    e, s = map(int, input().split())
    A[e].append(s)
    A[s].append(e)

for i in range(n+1):
    A[i].sort()

DFS(v)

def BFS(x):
    queue = deque()
    queue.append(x)
    visited[x] = True
    while queue:
        now = queue.popleft()
        print(now, end = ' ')
        for i in A[now]:
            if not visited[i]:
                visited[i] = True
                queue.append(i)

print()
visited = [False] * (n+1)
BFS(v)

 

통과!

다음에도 연습해보자 진짜 꼭 이건 진짜 무조건 해야한다 ㅠㅠㅜㅜ 무조건 대놓고 저 나올꺼예요~ 하는 문제다 진짜루ㅠㅠㅠ


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Silver/1260.%E2%80%85DFS%EC%99%80%E2%80%85BFS

 

programmers/백준/Silver/1260. DFS와 BFS at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > do it! 알고리즘 코딩테스트' 카테고리의 다른 글

028 트리의 지름  (0) 2024.05.16
025 ABCDE  (0) 2024.05.14
024 신기한 소수  (0) 2024.05.09
023 연결 요소의 개수  (0) 2024.05.09
022 수 정렬하기 3  (0) 2024.05.07