pda_pro12   2년 전

9% 에서 틀렸습니다가 뜹니다...어느부분이 잘못됐는지 고수님들 알려주세요...ㅠㅠ

keith   2년 전

주석을 달아주시면 답변하시는 분들이 좀더 빠르고 정성스럽게 답변할 수 있습니다.^^; 질문하는 정성과 답변의 정성은 비례하니깐요^^;

알고리즘을 보니, BFS로 탐색하며, Queue에 쌓였던 횟수가 결국 각 영역의 크기라고 정의한점에서는 정확히 이해하시고 작성하신것 같습니다.

자.. 먼저 제가 보이는 결정적인 이유는 int Cnt[100]; 요놈입니다.^^; 최대 100개라는 보장이 있나요?^^;
100*100/2 정도, 즉, 5000개는 되어야 여유있지 않을까요?^^; (체스판을 생각해 보세용^^)

그 외에는 이 문제를 푸는데에 있어 문제되진 않지만, 의미없는 것들을 짚어보자면, 

첫째 : 지금 코딩하신 방식에 따르면, DATA라는 구조체 안에, cnt의 쓰임세가 없습니다^^;

둘째 : 굳이 구조체에다가 Queue까지 써서 코딩을 복잡하게 할필요는 없을것 같습니다. 재귀적인 DFS로도 충분하니깐요..

셋째 : Queue에서 pop으로 바로 빼서 구조체에 담아두고 사용하면 될것을, front로 그 값을 하나하나 다 봐놓고는 마지막에 그냥 pop 하시는데 굳이 코딩량을 이렇게 늘릴필요도 없고, 가독성도 떨어질것 같습니다.

도움이 되었길 바랍니다^^;


pda_pro12   2년 전

감사합니다...! ㅠㅠ 다음부터는 주석을 달아서 올리도록 하겠습니다! 좋은 말씀 정말 감사드립니다...!

pda_pro12   2년 전

Cnt배열은 체스판을 떠나서 그냥 101개로 설정했습니다 ^^

문제는 sort에서 +1을 빼먹은게 화근이었네요^^ 위에 답변주신분도 참고해서 한번 보시면 공부되실것 같아서 올려용~

댓글을 작성하려면 로그인해야 합니다.