kke0949   7년 전

C언어로 간단하게 큐를 구현해서 만들어봤는데

런타임에러가 뜨네요 ㅠㅠ

똑같은 코드에 queue헤더로 사용해서 하면 맞았다고 뜨긴 하던데 ㅠㅠ

무슨 문제일까요...

f52985   7년 전

front와 ans가 변하는 조건이 같으므로, front의 값이 곧 ans의 값과 똑같게 됩니다. 그러면 ans의 최대 값이 얼마가 나오는지를 살펴보면 큐가 적어도 얼마나 많이 필요한지를 알 수 있게됩니다.


그런데

1000 100 10

10 10 10 ... 10 10 (10이 1000개)

와 같은 입력을 생각해보면, ans의 범위 (즉 front의 범위)가 10000 이상이 될 수도 있다는 것을 알 수 있고, bright는 2100개의 공간밖에 없으므로 인덱스 에러가 나서 결과적으로 런타임 에러가 뜨게 됩니다.

kke0949   7년 전

단순하게 두배정도면 될거라고 생각해서 2000개정도만 잡았는데 그런 이유가 있었군요 ㅠㅠㅠ

정말 감사합니다!

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