dreamian   6년 전

I.in

I.out

안녕하세요. 혼자서 해결하려해도 어떤 부분이 런타임 에러를 발생시키는지 원인을 찾지 못해 글을 올리게 되었습니다.

전체 소스코드 구현은

1. 문자를 받을 수 있는 func를 단일 큐 형태로 구현하였고,

2. 숫자를 받을 수 있는 num을 환형 큐 형태로 구현하였습니다.

이 때, func는 입력받은 문자를 저장하는 배열인 f(동적으로 할당)에서 'R의 중복 갯수를 줄여 인자들을 순서대로 연결리스트에 넣었습니다.

3. 마지막으로, func에서 순서대로 문자를 Pop한 후에 R이 되면 반복적으로 시계 방향/반시계방향으로 환형 큐를 돌려 숫자들을 출력하였습니다. 이때, 환형큐 내에 남아있는 숫자가 없는 경우 값을 return하였습니다.

첨부된 input파일은 문제 출처에 적혀있는 대회의 테스트 케이스로, 모든 값이 정상적으로 출력되는 것을 확인하였습니다.

코딩 실력이 많이 부족하여 어떤 점이 문제인지 모르겠어서 많은 고수님들의 의견을 구합니다 ㅠㅠㅠ


감사합니다!!

dreamian   6년 전

리눅스로 돌렸을 때는 몰랐는데 맥으로 돌려보니 malloc에 대해 동적으로 할당된 메모리를 해제해주는 free 선언을 한 후에 해결했습니다.

제 코드의 문제점은 널포인터에 접근하여 메모리를 해제했다는 점이었습니다.

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