본문 바로가기
코딩테스트/BOJ

1152번 - 단어의 개수

by 의정부핵꿀밤 2021. 12. 11.
728x90


 

풀이)

공백이 연속으로 나오지 않는다는 조건이 있으니까 그냥 '공백의 개수 + 1'이 단어의 개수가 될듯?

일단 이렇게 구현해보자

 

c++ 코드)

#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string str;
    int count=0;
    
    getline(cin,str);
    
    for(int i=0;i<str.length();i++)
    {
        if(str[i]==' ')
        {
            count++;
        }
    }

    if(str[0]==' ') count--; //맨 처음이 공백인 경우 -1
    if(str[str.length()-1]==' ') count--; //맨 마지막이 공백인 경우 -1
    
    count++; //단어 개수=공백 개수+1
    cout<<count;
    return 0;
}

야아 이것좀 봐라

오류처리 2번 안했는데 정직하게 2번 틀림ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

여기서 어처구니 없는 고비가 3개가 있었따

 

1. 공백 포함 문자열 입력받기

string str;
getline(cin, str)

getline으로 str 입력 받으면 된다~

 

2. 문자열의 맨 앞과 문자열의 맨 뒤가 공백인 경우

나는 공백의 개수+1 로 단어의 개수를 세려고 했으니 맨 앞과 맨 뒤가 공백인 경우는 개수를 뺴줘야 함

그래서 공백의 개수 구하고 앞에 하나, 뒤에 하나 뺴줬당!

 


 

오늘은 시험기간이니까 여기까쥐,,,ㅜ

728x90

'코딩테스트 > BOJ' 카테고리의 다른 글

2750번 수 정렬하기  (0) 2021.12.14
1157번 단어 공부  (0) 2021.12.12
DP > 이친수 (2193번)  (0) 2021.09.05
DP > 오르막 수 (11057번)  (0) 2021.09.04
DP > 쉬운 계단 수 (10844번)  (0) 2021.09.04

댓글