cheetose   3년 전

왜 위에는 WA고 아래는 AC일까요..??

딱히 코드의 차이점은 보이지 않는데 말이죠..ㅠ

ainch96   3년 전

t는 int인데,  c는 char이네요. 혹시 범위를 넘어 버리는 경우가 있는 건 아닐까요.

cheetose   3년 전

입력이 저거 4개밖에 없다는 건 보장 된 상태라서 범위를 넘어갈 상황은 발생하지 않을 거예요

sgchoi5   3년 전

WA 코드에서 scanf 사용이 문제였네요..

입력값의 마지막에 \n 이 있나봐요.. 그럼, 마지막에 \n 이 scanf 로 입력이 될 꺼고, t 는 초기화가 안 되는 상황이 발생합니다.

c == '\n' 인 상황에 처리가 t 값이 어떤 값을 가지느냐에 따라 달라지게 되는 거요.

AC 코드에서는 c 에 '\n' 이 들어왔을 때 운좋게 넘어간 것 같습니다.


scanf 의 return 값은 입력 처리된 개수를 의미하는 거라

WA 받은 코드에서 while(scanf("%c%1d%1d",&c,&x,&y) ==3 ) 로 하니 pass 가 되네요..


COCI 문제는 대회에서 사용했던 TC 가 공개되어 있으니 이런 상황이 생기면 한 번 해보세요.

http://gooddaytocode.blogspot....


cheetose   3년 전

아... 생각보다 단순한 이유였네요 ㅠ 앞으로 while(scanf)에 인자 개수 써넣는 버릇 들여야겠네요.. 감사합니다

ainch96   3년 전

sgchoi5

갓... 

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