https://www.acmicpc.net/problem/1152

#include <stdio.h>
#include <string.h>
int main() {
char MY[1000000];
int i,count=0,MYlen;
scanf("%[^\n]",MY); //1
MYlen = strlen(MY);
if(MYlen == 1) { //2
if(MY[i] == ' ') {
printf("0");
return 0;
}
}
for(int j = 1; j<MYlen-1; j++) { //3
if(MY[j] == ' ') {
count++;
}
}
printf("%d", count+1); //공백개수를 세었으므로 +1 해 준다.
return 0;
}
[주목할만한 부분]
1. %[^\n] : 한 줄 띄우기 전까지 문자열로 받는다
(그냥 %s라면, Hello World에서 띄어쓰기를 인식하지 못한다. Hello로만 받는다.)
2. 공백 하나만 입력되었을 때의 경우
3. 공백의 개수를 센다.
*문제가 애매한 듯 하다...
공백을 하나만 받으면 결과가 2,
그냥 개행한 결과를 받으면 결과가 1이다.
이를 단어라고 보기엔 어렵지만 채점 결과가 맞다고 하니...
'PROGRAMMING > [C] Baekjoon Online Judge (BOJ)' 카테고리의 다른 글
| [C/Baekjoon] 백준 11718번(5-11) : 그대로 출력하기 (5) | 2025.01.13 |
|---|---|
| [C/Baekjoon] 백준 1152번(5-9) : 상수 (0) | 2025.01.11 |
| [C/Baekjoon] 백준 10809번(5-6) : 알파벳 찾기 (4) | 2025.01.10 |
| [C/Baekjoon] 백준 11720번(5-3) : 숫자의 합 (2) | 2025.01.07 |
| [C/Baekjoon] 백준 9086번(5-3) : 문자열 (0) | 2025.01.07 |