Jongman님! minastirith에서요.

  • namhong2001
    namhong2001

    먼저 좋은 책 출판해주셔서 정말 감사드립니다. 열심히 공부하고 있어요!!^^

    본론으로 들어가서
    minastirith문제를 푸는데 혼자 풀기엔 조금 벅차서 책을 보고 풀었는데요.
    책에 있는 코드로 하면 asin(x)을 계산할때, 즉 range를 설정해줄때
    r이 16이상이 되는 경우 x값에 1 이상이 들어가게 되어 nan을 반화하게 됩니다.
    결국 solveCircular() 및 solveLinear()에서 이 초소를 무시하게 되는데요.
    그래서 r이 16이상인 경우 올바른 값을 출력하지 못하게 됩니다.

    그래서 이 부분을 고려하여 코드를 수정할 필요가 있는데
    테스트 케이스에는 r이 16이상인 경우가 없나 보더라구요.
    고려하나 고려하지 않나 정답으로 인정되었습니다.
    문제의 의도를 생각하면 r이 16이상인 경우도 신경써야 하는데
    그렇다면 r이 16 이상인것도 포함하는 테스트 케이스가 필요하지 않나 생각합니다.
    아니면 문제의 r의 최대값이 16.001이 아니라 15.999로 변경되어야 명확할 것 같습니다.


    11년 전
1개의 댓글이 있습니다.
  • JongMan
    JongMan

    안녕하세요? 테스트 케이스에 16이 없었던 것은 저의 실수입니다. 흑흑. 원래의 의도는 책에 있는 코드로 들어가기 전, 입력을 받고 나서 16 이상인 r이 있나 확인해야 하는 것이었어요.

    테스트 케이스를 새로 만들어야겠습니다. 지적 감사해요~~


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