kth1322   1년 전

답은 잘 나오는데 왜 틀린건가요?

preview

djm03178   1년 전

문자열의 끝에는 항상 널 문자가 들어가야 합니다. 이건 입력을 받을 데나 출력을 할 때, 또는 strlen을 할 때 등등 모두 마찬가지입니다.

문제에서 주어지는 문자열의 길이가 최대 20이므로 str의 크기는 최소 21 이상이 되어야 scanf 함수가 그 뒤에 널 문자를 넣어줄 공간이 있게 됩니다.

또한 출력을 할 때에도 이 널 문자 때문에 최소 len*r+1바이트가 필요하고, len*r번째 인덱스에 널 문자를 직접 대입해줘야만 printf 함수가 이 문자열의 끝이 어딘지 판단을 할 수 있게 됩니다.

djm03178   1년 전

또한 alphanumeric인지를 확인하는 로직은 전혀 필요하지 않습니다. 문제에서 alphanumeric으로 이루어진 문자열을 주겠다고 했으니 그렇지 않은 경우를 아예 고려할 필요가 없습니다.

또한 정답을 따로 모아두었다가 나중에 몰아서 출력할 필요도 없습니다. 한 케이스 입력받고 그에 대한 답을 바로 출력하는 것을 반복해도 됩니다.

kth1322   1년 전

아 답 바로 출력해도 되는군요. 형식 맞추는게 되게 맘에 안들었는데 이제 그러지 않아도 돼서 훨씬 식을 간소화 할 수 있겠네요.

틀린 부분 체크 감사합니다. 제가 뭘 놓쳤는지 확인되었습니다.

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