7개의 댓글이 있습니다.
-
-
oanoelsis -
먼저 계속 질문 드려서 정말 죄송합니다. ㅠ. 제가 이해하기로는 말씀하신 예는 Free_Tree()함수가 null이 나올떄까지 free를 작동시키는데 null이 존재하지 않을 수 잇어서 할당하지 않은 메모리를 free할수 있다. 라는 말씀으로 이해했는데요. 제 코드에서 전체 들어올 입력 개수를 받은뒤 NodeAdd[N]=0; 를 통해서 항상 N개의 입력을 받은 후에 그 다음 값은 null이 되도록 작동하니, Free_Tree()함수는 항상 NodeAdd[0]~NodeAddN-1 까지만 free를 실행해서 메모리를 할당받지 않은 곳에는 free를 하지 않을것 같은데요.
10년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
oanoelsis
familytree 문제를 풀다 생긴 런타임오류에 대한 질문입니다. 간단하게 들어오는 입력값들을 자기자신의 번호(name)와 조상의주소(parent), 노드의 레벨 을 데이터로 가지고 있는 노드들의 트리로 구성한 뒤, 같은 조상을 가질떄까지의 거리를 합산하여 촌수를 계산해내는 알고리즘 입니다.
답안 제출을 하면 런타임오류가 나며 잘못된 메모리 엑세스라고 뜨는데요. 궁금한 점은 우분투 g++ 환경인 제 컴퓨터에서는 잘 컴파일되고 돌아간다는 점입니다.(한가지 짐작가는 점은 엄청나게 개수가 많은 데이터에 대해서는 테스트 해보지 않았다는 점인데, 손으로 입력해야 하니 테스트를 해볼수가 없었습니다....) 그래서 이러한 경우에 어떤 문제로 런타임 에러가 난 것인지 알고 싶습니다. ㅠ
한달 전부터 혼자 전산공부를 시작해서 알고스팟 문제들이 좋은 연습문제들이 되어주고 있습니다. 정말 감사합니다. ㅠㅠ
10년 전