728x90
반응형
문제 링크 : https://www.acmicpc.net/problem/1152
목차
1. 설명
2. 내 코드
3. 문제 풀이 해석 내용
4. 실행 결과
설명
백준 브론즈 2 문제 입니다.
문제명 : 단어의 개수
내 코드
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{
string str;
getline(cin, str);
int cnt = 1;
for (int i = 1; i < str.length() - 1; i++)
{
if (str[i] == ' ')
{
cnt++;
}
}
if (str == " ")
{
cnt = 0;
}
cout << cnt;
}
문제 풀이 해석 내용
문자열 입력 처리
string str;
getline(cin, str);
getline 함수를 사용하여 한 줄의 문자열을 입력받아 str 변수에 저장합니다.
이 함수는 공백을 포함한 전체 줄을 읽어옵니다.
단어 수 초기화
int cnt = 1;
단어 수를 세기 위한 변수 cnt를 초기화합니다.
기본적으로 1로 설정하는 이유는, 입력 문자열이 비어 있지 않으면 최소한 하나의 단어가 있다고 가정하기 때문입니다.
단어 수 세기
for (int i = 1; i < str.length() - 1; i++)
{
if (str[i] == ' ')
{
cnt++;
}
}
for 루프를 통해 문자열의 각 문자에 접근합니다.
i는 1부터 시작하여 문자열의 길이에서 1을 뺀 값까지 반복합니다.
문자열의 각 문자가 공백(' ')일 때마다 cnt를 증가시킵니다.
특수 케이스 처리
if (str == " ")
{
cnt = 0;
}
입력 문자열이 단순히 공백인 경우, 단어 수를 0으로 설정합니다.
결과 출력
cout << cnt;
최종적으로 계산된 단어 수를 출력합니다.
실행 결과

'c++' 카테고리의 다른 글
| 백준 c++ 10870 문제 풀이 (0) | 2025.04.09 |
|---|---|
| 백준 c++ 18870 문제 풀이 (0) | 2025.04.08 |
| 백준 c++ 11723 문제 풀이 (0) | 2025.04.06 |
| 백준 c++ 2476 문제 풀이 (0) | 2025.04.05 |
| 백준 c++ 2562 문제 풀이 (0) | 2025.04.04 |