반응형
1152_단어의 개수
링크
https://www.acmicpc.net/problem/1152
풀이
이 문제는 생각보다 정답 비율이 낮습니다.
단어는 공백으로 구분할 수 있고 공백이 연속해서 나오는 경우는 없다고 했기 때문에, 공백의 개수 + 1이 단어의 개수라는 것을 알 수 있습니다.
하지만 맨 앞에 공백이 오거나 맨 뒤에 공백으로 끝나는 경우가 있을 수도 있으니 그 부분에 대한 코드도 짜줘야 할 것 같습니다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//1152_단어의 개수 #include <iostream> #include <string> using namespace std;
int main() { string str; int i, cnt = 0;
getline(cin, str);
for (i = 0; str.length(); i++) { //문자열 공백 count if (str[i] == 0x20) cnt++; }
if (str[0] == 0x20) cnt--; //맨 앞이나 if (str[str.length() - 1] == 0x20) cnt--; //맨 뒤에 공백이 있는지 체크
cout << cnt + 1 << endl;
return 0; } |
반응형
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ][DP] 11727 2xn 타일링 2 (5) | 2018.05.27 |
---|---|
[백준 BOJ][DP] 11726 2xn 타일링 (0) | 2018.05.27 |
[백준 BOJ] 14584 암호 해독 (0) | 2018.05.13 |
[백준 BOJ] 10250 ACM 호텔 (0) | 2018.05.13 |
[백준 BOJ] 1933 분수찾기 (0) | 2018.05.13 |