zxzimin   4년 전

위와 같이 코드를 작성해서 풀었는데 다른건 그대로 하고 반복문 부분을

for (int j = 0; j < 80; j++)
{
if (arr[j] != 'O' && arr[j] != 'X') break;

if (arr[j] == 'O') count++;
else if (arr[j] == 'X') count = 0;

sum += count;
}

이렇게 if문을 두개로 나눠버리면 값이 무조건 0으로만 나오는데 이유가 뭔가요?

첫번째 if를 실행하고 false라고 판단했다면 바로 그 밑 if문을 그대로 진행해서 올바른 값이 나와야하는게 아닌지,,?

또한 저는 매반복마다 arr[0] = '\0';로 문자열이 들어갈 배열을 비워줬는데 해당 문장을 빼더라도 테스트케이스는 올바른 값이 나옵니다!

혹시 굳이 하지 않아도 되는건지 궁금합니다!!

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