shg3411   5달 전

dp이용해서 풀었는데요

213인 경우 21이 만들어진 경우에서 3부분이 0이아니면 21만들어진 경우를 더하고

13부분이 10~34인 경우 2가 만들어진 경우를 더해서 dp를 완성했습니다.

논리상 틀린것은 없어보이구요,, 혹시 입력받는 부분이 잘못된건지 예외케이스가 존재하는건지 궁금하네요

이 문제에 해당 데이터가 존재하는지는 모르겠지만, 입력이 01 일때 답은 0이어야 합니다

shg3411   5달 전

01이라는 입력이 가능한가요?? 그럼 010, 0100이런것도 가능한가요??

그런 입력이 정확히 존재하는건지는 모르겠지만 아마 틀렸다면 저것때문일 가능성이 있지 않을까요?

shg3411   5달 전

말씀하신 케이스가 1이 나오길래 0이나오도록 다시 수정했는데두 틀렸다고 하네요

어딘가 꼬인거같은데 모르겠네요ㅋㅋㅋ ㅠ

아무래도 입력받는 부분이 문제가 맞나보네요

scanf("%s", &tempt);

로 통째로 받아 오프라인으로 해결하니 정답이라고 나와요!

shg3411   5달 전

오오 정말로 감사합니다!! 

다른문제도 입력저렇게 받아서 그런지 틀린게 있었는데 입력쪽 문제가 맞았군요

kyma123   5달 전

입력의 끝은 '\n'이 아니라 EOF입니다.

판별 방법은 일반적인 경우, scanf함수의 리턴값은 읽은 변수의 개수이지만, EOF를 만났을 경우 -1을 리턴합니다.

if(scanf("%c", &temp) == -1)과 같은 식으로 예외처리를 해 주시면 되겠습니다.

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