백준/단계별
백준 1152 C#) 단어의 개수
alpacadabra
2022. 4. 22. 02:12
이 문제를 푸는 아이디어는 간단하다. 커서가 문자열을 훑는다고 할 때, 공백에서 문자로 넘어가는 그 타이밍에만 셈하면 된다.
int cnt = 0;
bool flag = true;
string s = Console.ReadLine();
foreach (char c in s)
{
//공백에 이어 문자가 나왔는가
if (flag && c != ' ') cnt++;
//공백이 나왔는가
flag = (c == ' ');
}
Console.Write(cnt);
정답률이 상당히 낮은 문제지만 코드는 전혀 복잡하지 않다.
오히려 그 타이밍만 잘 캐치할 수 있다면 공백이 한 개가 아닌 열 개가 연속으로 나와도 문제를 해결할 수 있다.
포인트라고 할 부분은 없지만 굳이 꼽자면 flag의 초기값을 true로 설정하는 것 정도가 되겠다.