문제 풀이 전형적인 dfs 문제이다. dfs 방식을 이용하여 주어진 두 사람 중 한명만 각 가족구성원과의 관계를 리스트에 저장한 뒤 출력하면 된다. 풀이코드
문제 풀이 간단하게 dfs를 이용해서 풀면 된다. 입력되는 값을 인접리스트 방식으로 입력 받고 dfs 함수를 돌리면서 현재의 노드가 어디와 연결되어 있는지를 root 배열에 저장하면 된다. 풀이 코드
문제 풀이 처음 문제를 봤을 때 이게 왜 DFS/BFS 문제야? 하고 의아해했다. 문제만 놓고 보면 처음에는 그냥 그리디 문제인가 싶었지만 찬찬히 생각해보니 DFS/BFS 방식으로 풀 수 있겠구나 싶었다. 우선, 연산의 개수는 + 와 - 두가지 밖에 없다. 그렇다면 각 매번 배열의 각 인덱스들을 지나칠 때 마다 결과 값이 2가지로 나뉜다는 것이고 이걸 그림으로 그려보면 다음과 같다. 예시 1번을 그려보면 ![](https://velog.velcdn.com/images/maxbort/post/92c85631-4284-4
문제 문제 N × M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하라. 다음의 4 × 5 얼음 틀 예시에서는 아이스크림이 총 3개가 생성된다 입력 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로 길이 M이 주어진다. (1 입력 예시 4 5 00110 00011 11111 00000 출력 예시 3 풀이 이것이 코딩 테스트다에서 배웠던 DFS를 그대로 활용해서 문제를 풀면 간단하게 풀 수 있다. 특정 지점