

https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.
www.acmicpc.net
getline(cin, str)을 사용해볼 수 있는 문제였다.
"Hello world"와 같은 입력을 받는 경우
cin>>str을 하면 str에는 Hello 까지만 담기게 된다.
getline의 경우 공백을 포함하여 입력을 받기 때문에 공백이 있는 문자열 처리에 사용하기 좋다.
[문제 해결 방법]
공백의 아스키 코드값인 32를 확인하여 단어의 개수를 세주는 방법을 사용하였다.
또한
- 문장의 맨 앞이 공백인 경우
- 문장의 맨 뒤가 공백인 경우
- 공백 1개만 입력받는 경우
위 3가지 조건만 잘 생각하면 크게 어렵지 않게 풀 수 있다.
구현코드
'Problem Solving > 백준' 카테고리의 다른 글
[백준 BOJ] 5430_AC (0) | 2019.11.24 |
---|---|
[백준 BOJ] 1707_이분 그래프 (0) | 2019.11.18 |
알고리즘 문제풀이(Java) - 백준 1149번 (RGB 거리) (0) | 2019.01.21 |
알고리즘 문제풀이(Java) - 백준 9095번(1, 2, 3 더하기) (0) | 2019.01.17 |
알고리즘 문제풀이(Java) - 백준 9012번(괄호검사) (0) | 2019.01.11 |