https://www.acmicpc.net/problem/1152
#include <cstdio>
using namespace std;
int main(void)
{
int count = 0;
char mTemp = 0;
while ((mTemp = getc(stdin)) != ' ')
{
if (mTemp == ' ') { count++; }
}
printf("%d ", count + 1);
return 0;
}
대체 왜???
시간초과 뜨는 거임?
여기서 도대체 뭘 더 줄이라는 거여?
getc로 입력받지말고 gets같은걸로 입력받아봐라
길이 최대 100만이던데
맞은놈 소스보니 다 비슷한 알고리즘 쓰는데 gets로 입력받음
허얼; 오졌다.
뭔가 엄청 희한한 코드네... 표준입력에서 공백문자가 나오면 루프 벗어나도록 했으면서 루프안에 공백문자 나올때 카운트 증가시키는 알고리즘은 왜있는거냐
백슬래스 엔은 개행
? 수정했니?
개행도 좋지만 EOF로 조건을 걸어두는게 낫지않나... 그냥 저건 문서 한번 읽으면.. 아니 책한번 펼쳐봐도 답나올듯
getc 로 받는데 enter 치면 EOF 가 되는가 ㅋ?
엔터 이후에. 표준입력버퍼에 아무것도 없으면 EOF가 되겠지?
어차피 단어의 개수를 찾는거니까 엔터를 인식하나 안하나 차이없잖아
아니다 블록되나?
파일에서 읽으면 마지막에 EOF띄울텐데 표준입력은 까먹었다 ㅇㅇ;; 그냥 gets쓰는게 확싫할듯
scanf는 EOF 띄우는데
다시말하는데 알고리즘엔 문제없고 getc가 문제다