본문 바로가기
백준/단계별

백준 1152 C#) 단어의 개수

by alpacadabra 2022. 4. 22.

이 문제를 푸는 아이디어는 간단하다. 커서가 문자열을 훑는다고 할 때, 공백에서 문자로 넘어가는 그 타이밍에만 셈하면 된다.

 

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

댓글