문제풀면 테스트케이스는 통과하는데...

  • kws4679
    kws4679

    문제를 풀면 예제로 나온 테스트케이스는 통과하는데

    시스템 테스트는 실패합니다.

    제가 문제풀때 우선 저 나름대로 알고리즘을 고안하고

    구현한 후에 예제로 나온 테스트케이스에 대해서 검증을합니다

    테스트케이스가 상대적으로 많은 경우 (탑코더같은...)

    에는 괜찮은데, 적은 경우에는 예제 테스트가 맞더라도

    저지에서 실패하는경우가 많습니다.

    어쩌면 알고리즘을 제대로 작성하지 못했거나 오류가 있으면서

    예제 테스트케이스에 맞추어 수정하다보니 이런 문제가 발생하는것

    같은데요

    구현에서 실수하는것은 어쩔수 없다 쳐도 고수분들께서는

    알고리즘을 구현하신다음에 내 알고리즘이 맞겠구나 하고

    어떻게 확인하는지, 그리고 시스템 테스트에서 실패하였을경우에

    전략이 어떤것이 있는지 도와주시면 감사하겠습니다!!


    10년 전
2개의 댓글이 있습니다.
  • 일루
    일루

    질문이 너무 심오하네요 ㅠㅠ

    많은 문제를 푸시면서 틀린 문제를 왜 틀렸는가에 대한 고찰을 하시다 보면 실수확률은 자연히 내려갑니다. 이 부분에 대한 질문은 아니시니 넘어갈께요 ^^;;

    일단 구현이 되어있다고 가정하면, 알고리즘이 맞는지 확인하는 방법은 우선 로직 자체를 증명하는 것이 가장 좋고, 이보다 덜 확실하지만 머리를 덜 쓰는 방법으로는 최대사이즈 데이터와 코너케이스 데이터로 테스트를 해 보는 방법이 있습니다.

    거기에 좀 더 검증을 추가해본다면 구현이 가장 간단하지만 시간복잡도가 가장 높은 프로그램을 작성하여, 작은 크기의 랜덤 데이터를 수백~수만개 만들어서 답을 비교해보는 방법이 있습니다.


    10년 전 link
  • kws4679
    kws4679

    답변 정말 감사합니다~!!. 결국은 많은 문제를 푸는것이 기본이군요!!


    10년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.