반응형
문제 : 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어집니다.
이 문자열의 단어의 개수를 구하세요.
단어는 띄어쓰기로 구분합니다. 문자열 앞 뒤에 공백이 있을 수 있습니다.
제 문제 해결법은 이렇습니다.
이 문제는 문자열을 받는 문제이므로 fgets 함수를 쓰겠습니다.
그리고 맨 앞에 있을 수 있는 공백을 따로 처리해줍니다.
마지막으로, 공백이 여러 개 붙어 있을경우 세지 않는단 조건을 추가해 줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include<stdio.h> int main() { int count,i=0; char array[1000001]; fgets(array,sizeof(array),stdin); if(array[0]==' ') { count=0; } else { count=1; } while(array[i]) { if(array[i]>='A'&&array[i]<='z'&&array[i-1]==' ') { count++; } i++; } printf("%d",count); } | cs |
반응형
'개발 지식 > 알고리즘' 카테고리의 다른 글
[백준] 1929 소수 구하기 (0) | 2019.03.19 |
---|---|
[백준] 10250 ACM 호텔 (0) | 2019.03.15 |
[백준] 1834 나머지와 몫이 같은 수 (0) | 2019.02.27 |
[백준] 2839 설탕 배달 (0) | 2019.02.04 |
[백준] 2557 Hello World (0) | 2019.02.03 |