쌓고 쌓다
[백준] 단어의 개수 1152번 C++ 풀이 본문
https://www.acmicpc.net/problem/1152
전체 코드
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string str;
int res = 0;
bool flag = false;
getline(cin, str);
for (int i = 0; i < str.length(); i++)
{
if (((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')) && flag == false)
{
res++;
flag = true;
}
else if(str[i]==' ')
flag = false;
}
cout << res;
}
알파벳이 등장하면 단어의 시작으로 단어의 개수(res)를 +1 해줄 건데
flag(앞전에 단어가 아닌 공백이 존재함)가 false여야지 res를 1 늘려줄 겁니다.
이렇게 구현하기 위해 공백을 만나면 flag를 false로 바꾸는 부분과 단어를 만나면 res를 1 늘려주고 flag를 true로 바꾸는
연산이 필요합니다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 특정 거리의 도시 찾기 자바(Java) 풀이 및 해설 (0) | 2024.05.23 |
---|---|
[백준] 벽 부수고 이동하기 자바(Java) 풀이 및 해설 (0) | 2024.05.22 |
[백준] 트리의 높이와 너비 2250번 C++ 풀이 (0) | 2022.05.23 |
[백준] LCA 11437번 C++ 풀이 (0) | 2022.05.20 |
[백준] LCA 2 11438번 C++ 풀이 (0) | 2022.05.17 |
Comments