inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

4-H

4-H(#2234, 성곽)문제 DFS대신 BFS 사용

89

Gitae Kim

작성한 질문수 7

0

안녕하세요 선생님.

#2234 문제에 대해서 Connected Component개념으로 DFS를 소개해주셔서 문제풀이를 이해하는데 수월했습니다.

 

다만, 처음 문제를 저 혼자 풀 때,

각 방 칸의 크기가 1이고, 방 칸의 개수에 따라 방 넓이가 결정되므로

가중치가 동일하니 BFS로도 풀 수 있지 않을까라고 생각되어 아래와 같이 풀어봤습니다.

http://boj.kr/896f1a9fbf8e47628666c1c0a8c59db5

 

각 방을 탐색할때마다 queue를 생성하고 queue pop을 할 때마다 방 칸의 개수를 cnt++라는 변수에 담고,

탐색을 더이상 진행할 수 없을 때 방 칸의 개수값 cnt를 return하도록 하여 탐색했는데요.

 

문제에서 주어진 예제 입력1은 통과했지만 채점에서도 어떠한 반례에 걸려 fail이 발생한 것 같습니다.

BFS 탐색 코드에 어떠한 문제점이 있는지 피드백 주시면 감사드리겠습니다...

 

감사합니다.

 

c++ 코딩-테스트

답변 1

1

큰돌

안녕하세요 기태님 ㅎㅎ

해당 코드를 여러번 시도해고 제가 생각한 반례들을 모두 다 통과하네요

제가 봤을 때 틀린점이 없는 것 같은데.. 이상하네요

 

도움을 못드려 죄송합니다.

1

Gitae Kim

선생님, 오랜시간 제 궁금증을 해결해주시고자 노력해주셔서 너무 감사드립니다.

일단 이 문제는 Connected Component -> DFS로 대응이란 인사이트를 명확하게 인지하되,

추후에 제가 시간이 남으면 BFS로 인한 반례가 생기는지 천천히 되짚어보도록 하겠습니다.

 

본의아니게, 수고를 들이게 하여 죄송하고 감사합니다.

 

2주차 개념#12 트리 순회

0

8

2

백준사이트가 종료된다고 합니다.

0

200

2

백준 서비스 종료

9

633

1

sk 하이닉스 코테 대비

0

346

2

3-G 최댓값 질문

0

46

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

77

2

3-I 코드 질문드립니다.

0

59

2

3-N 질문 있습니다.

0

63

2

학습방법

0

98

2

4-H 질문 있습니다 (코드 리뷰)

0

65

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

161

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

68

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

62

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

48

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

66

2

함수별 시간복잡도

0

71

2

3-h 질문입니다.

0

47

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

51

2

1-I 문제 질문 드립니다.

0

74

2

2-P 질문입니다.

0

55

1

mac에서 시작하기 관련

0

86

2

5-Q 질문

0

62

2

풀이 코드 질문

0

62

2

맞왜틀

0

67

2