이 문제를 푸는 아이디어는 간단하다. 커서가 문자열을 훑는다고 할 때, 공백에서 문자로 넘어가는 그 타이밍에만 셈하면 된다.
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로 설정하는 것 정도가 되겠다.
'백준 > 단계별' 카테고리의 다른 글
백준 1316 C#) 그룹 단어 체커 (0) | 2022.04.27 |
---|---|
백준 2941 C#) 크로아티아 알파벳 (0) | 2022.04.27 |
백준 1157 C#) 단어 공부 (0) | 2022.04.22 |
백준 11720 C#) 숫자의 합 (0) | 2022.04.21 |
백준 4673 C#) 셀프 넘버 (0) | 2022.04.19 |
댓글