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

025 ABCDE

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

첫번째 코드

 

먼저 문제 이해를 잘못했었다...

꼭 ABCDE가 아니여도 5개가 얽힐 수 있으면 되는 것이다!!

 

DFS는 뭔가 그림으로 그리거나 하면 이해가 될 듯 하다

하지만 코드로 재귀로 들어가면 작성이 어려운 것 같다...

그래서 이번 코드도 책을 참고했다...

다음에는 꼭 혼자 풀어보고 싶다....... 기출문제에 많이 나오는 유형인데...

그래도 조금은 익숙해지고 있지 않을까..?ㅎㅎ;;

 

import sys
input = sys.stdin.readline
sys.setrecursionlimit(10000)

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

def DFS(now, depth):
    global arrive
    if depth == 5:
        arrive = True
        return
    visited[now] = True
    for i in A[now]:
        if not visited[i]:
            DFS(i, depth + 1)
    visited[now] = False

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

for i in range(n):
    DFS(i, 1)
    if arrive:
        break
    
if arrive:
    print(1)
else:
    print(0)

 

통과!

멘탈 잡아!!! 익숙해질꺼야!!! 다음 DFS 문제는 또 수정해서 풀어보자구..!!!


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Gold/13023.%E2%80%85ABCDE

 

programmers/백준/Gold/13023. ABCDE at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

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

027 미로 탐색  (2) 2024.05.16
028 트리의 지름  (0) 2024.05.16
026 DFS와 BFS  (0) 2024.05.14
024 신기한 소수  (0) 2024.05.09
023 연결 요소의 개수  (0) 2024.05.09