# 문제
# 입력 및 출력
# 풀이
입력받아서 공백이 입력될 때마다 count를 ++해주는 방식으로 하려고 했으나
이렇게 하면 문장 앞에 공백이 온다거나 문장 뒤에 공백이 오면 답이 다르게 나왔다
string으로 입력받으면 몇개의 입력을 받는지 모르기 때문에 구현하기가 힘들어서 split을 생각했다
전체 문장을 받아놓고 공백을 기준으로 split해서 단어의 개수를 세는 방식으로 접근했다
아래 블로그 참고
https://codecollector.tistory.com/999
(C++) - Split 함수 사용하기
Python, javascript 등 다양한 언어에서는 split함수를 지원하지만 c++에는 기본으로 split함수가 내장되어 있지 않습니다. 따라서 여기에 문자열 파싱에 있어 자주 사용하는 split함수의 예제를 정리합니
codecollector.tistory.com
#include <iostream>
#include <sstream>
using namespace std;
int main() {
int count = 0;
stringstream ss;
string input;
getline(cin, input);
ss.str(input);
while (ss >> input) count++;
cout << count;
}
코드 자체는 매우 짧지만 sstream이라는 헤더를 사용하기 때문에 정리하려고 글로 써봤다
sstream 사용법은 아래를 참고하기!
[C/C++] stringstream 사용법
stringstream 사용법 INTRO C++ 에서는 여러가지 자료형이 string으로 한 줄에 들어오면 이것을 어떤 식으로 해야할지 고민하다가 stringstream 을 찾았는데, 한 줄에 들어오면 파싱해서 용도에 맞게 사용
deukyu.tistory.com
'Algorithm > 📖Baekjoon' 카테고리의 다른 글
#1789 수들의 합 (0) | 2022.04.20 |
---|---|
#1463 1로 만들기 (0) | 2022.04.19 |
#1157 단어 공부 (0) | 2022.04.18 |
#10162 전자레인지 (0) | 2022.04.17 |
#2217 로프 (0) | 2022.04.17 |
댓글