심사문제 45.8 질문 있습니다.
, 한 서영님이 작성저는 45.8 문제를 다음과 같이 코딩하였습니다.
문제에 제시된 예제를 입력하였을 때, 동일한 결과가 나오나 답으로 인정이 되지 않습니다.
다음 코딩에서 잘못된 부분이 어디인지 궁금합니다.
문의한 코드는 삭제합니다.
if (strcmp(ptr, "the") == 0)
{
count++;
}
(도장_ 관리자님이 수정함 - 원문 제출일: 화요일, 17 8월 2021, 10:20 오전)Re: 심사문제 45.8 질문 있습니다.
, 도장_ 관리자님이 작성조건에 따라 정확하게 the 개수를 카운팅하는 데 문제가 있습니다.
포럼 상단 오른쪽에 45.8로 검색하면 이전 질문과 답변에서도 이 문제가 반복되는 질문이라는 것을 알 수 있습니다. 이전 질문과 답변도 참조하세요.
다음 샘플 텍스트에 대해서
“A first act of stunning formal control… a delicious engine of tension… a delightfully tense crime thriller… somehow both hard-boiled and human, and on par with much of King’s best work… King can still build tidal waves of tension from the smallest deviation from plan, sending Constant Readers plunging deep into the flop-sweat insecurities of his heroes as they watch a situation potentially spiral out of control. In situating Billy’s atonement in communication and creation, not violence, King manages to find a space for redemption… Billy Summers is winningly optimistic about the life of the creative mind. More than almost any other King book in recent memory, it’s a product of its time, but not a victim of it.”
문의한 코드로는 결과가 5이고, 정답은 4입니다.
다른 영문 텍스트를 넣어보면 공통으로 +1씩 더한 결과가 출력되는 것을 알 수 있습니다.
문제의 예시 텍스트에서는 문의한 코드의 결과가 6이고, 정답도 6이지만, 이는 우연의 일치로 판단됩니다. 다양한 텍스트를 넣어서 테스트해보면 +1이 되는 것을 알 수 있습니다.
따라서 심사가 통과되지 않는 것이 맞습니다.
count++의 조건이 잘못되었다는 뜻입니다.
자주 틀리는 부분이므로 심사문제 제출 이후에 해설을 보면
정확하게 해설이 있습니다.
해당 부분의 해설을 참고하시기 바라고, 이에 따라 코드를 고치면 해결할 수 있을 것입니다.