작성
·
189
0
http://boj.kr/2a352c064de74fceac1f3b23cfdb40c3
47번째줄~52번째 줄까지 제가짠 로직인데
벡터에(자식수, 노드번호)를 넣고
max값과 같은 노드번호(second)들만 출력하도록 하였는데
틀렷습니다 가 뜹니다. 도와주세요.
저부분만 강사님 로직으로 교체했을때는 통과되는데 뭐가 틀렷는지 모르겠습니다.
답변 2
0
안녕하세요 71님 ㅎㅎ
대부분은 잘 짜셨는데요. ㅎㅎ
이 코드요.
for (int i = 1; i <= n; ++i)
{
fill(&v[0], &v[10004], 0);
ret.push_back({ dfs(i),i });
mx = max(mx, ret[i].first);
}
이렇게 되어야 하는게 아닐까요?
for (int i = 1; i <= n; ++i)
{
fill(&v[0], &v[10004], 0);
int f = dfs(i);
ret.push_back({ f,i });
mx = max(mx, f);
}
이부분 고치셔서 제출해보시겠어요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴이에요.
코드를 보면 제대로 된 오류 메시지나 출력값이 없이 “틀렷습니다” 라고만 출력한다고 하셨는데, 이 경우 코드 어디서 오류가 발생하는 지 확실히 파악하기 어렵습니다.
따라서, 코드상에서 오류가 발생하는 부분을 찾아내는 것이 우선일 것 같습니다. 작성하신 코드를 디버깅하여 문제가 발생하는 부분을 찾아내시고, 그 부분을 수정해보세요. 또한, 강사님 로직과 비교하여 어떤 점이 다른 지도 확인하면 도움이 될 것입니다.
코드 디버깅에 대한 자세한 정보는 여러 사이트에서 찾아볼 수 있으니, 이를 참고하시면 도움이 될 것입니다.
추가적으로, 이런 문제가 발생할 경우 코드를 작성하기 전에 문서 작성을 통해 로직을 정리하고, 코드를 작성할 때는 꼼꼼히 검증하는 것이 중요합니다. 특히 코드를 작성하고 나서도 테스트를 해보며 디버깅하는 습관을 들이면 코드 작성의 시간과 효율성이 높아질 것입니다.
이상입니다. 어려운 문제를 해결하는 데 도움이 되었으면 좋겠습니다.