강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

카카누님의 프로필 이미지
카카누

작성한 질문수

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

2-S

2-S 1325 작성한 코드 왜 틀렸는지 모르겠습니다.

해결된 질문

작성

·

35

·

수정됨

0

제가 작성한 코드와 선생님이 작성한 코드랑 비슷한데

왜 제 코드는 틀렸다고 하는지 모르겠습니다.

 

http://boj.kr/8f9af85823c7483e8a728da2825d7b24

답변 2

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

혹시 edgeSet 부분은 왜 있는지 알 수 있을까요?

해당 부분은 제거 되어야 합니다. 신뢰가 양방향이어도 두 간선 모두 살아 있어야 하고 해당 간선에 해당하는 경우의 수 또한 계산해야 합니다.

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

카카누님의 프로필 이미지
카카누
질문자

edgeSet이 있는 이유가 문제를 보니 L->R으로 신뢰 관계가 형성된다고 제시되어있어서 만약 입력에 L->R, R->L 같이 주어진다면 서로 신뢰되므로 해킹이 안되기에

입력선에서 edgeSet을 통해 서로 신뢰인 간선들을 제거하기위해 해당 변수를 선언했습니다.

둘다 신뢰할 경우도 경우의 수를 계산해야한다고 하셨는데 혹시 0인 경우도 존재해서 그런걸까요?

 

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

예를 들어

... a <-> b <-> c ...

인 경우에 a -> b -> c로만 간선을 만들어버리면

c -> b -> a ... 의 경우의 수를 계산할 수 없습니다.

이 때문에 양방향 간선 그대로 로직을 구축하셔야 합니다.

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 카카누님.

프로그래머로서 틀리지 않았다고 믿었던 코드에서 오류를 찾는 일은 정말로 난감할 수 있습니다. 질문하신 내용을 기반으로 유사한 오류 문제를 다룬 기존 게시물이 있는지 찾아보았습니다.

  1. 기존 관련 질문

    • 여기서는 DFS를 사용한 코드에서 오류가 발생한 경우를 설명하고 있습니다. 코드에서 오작동하는 부분에 대해 다른 사용자와 토론한 사례가 있어, 해당 논의가 도움될 수 있습니다.
  2. 관련된 또 다른 질문

    • 이 질문에서는 접근 방식은 조금 다를 수 있지만 비슷한 문제에 대해 해결하는 방법이 제시되어 있습니다. 특히 방문 표시 배열의 값이 여러 종류일 수 있음을 언급합니다.

기본적으로, 코딩 문제를 해결할 때 코드 리뷰를 통한 피드백은 굉장히 유익할 수 있습니다. 특히, DFS와 BFS같은 그래프 탐색 알고리즘에서는 종료 조건이나 방문 여부를 어떻게 처리하는지가 중요합니다. 방문 확인을 “1인지 비교”하는 코드에서의 오류를 언급한 부분이 특히 연관이 있을 수 있습니다.

모든 코드 수행이 정상일지라도 예상치 못한 경우에서 코너 케이스가 발생할 수 있으니, 실행 흐름을 한 번 더 점검해 보시는 것도 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

카카누님의 프로필 이미지
카카누

작성한 질문수

질문하기