백준 1152 - 단어의 개수

2020. 2. 6. 11:03·Algorithms/BOJ

https://www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.

www.acmicpc.net

문제 설명


영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.

 

 

문제 접근


초기 접근은 공백(' ')인 경우와 !=(' ')인 경우로 나누어 풀었지만 개행문자 등으로 오류가 발생하여, 문자의 정의를 알파벳으로 정의했기때문에 알파벳의 아스키코드를 활용하여 문제를 해결하였다. 

 

 

코드


#include<iostream>
#include <cstring>
#include <string>
using namespace std;
int ans=0;
int main(){
    string str;
    getline(cin,str);
    int i=0;
    // 나만의 규칙 (공백-문자)를 단어로 간주한다.
    while(i<str.size()){
        if(i==0){
            if(str[0]!=' ') ans+=1;	// 규칙과 다른 반례: 처음 시작이 문자인 경우 +1 
            //기본 (공백-문자)경우 
            else if(str[i]==' '&&(str[i+1]>=65&&str[i+1]<=122)) ans+=1;	
        }
        else{
            if(str[i]==' '&&(str[i+1]>=65&&str[i+1]<=122)) ans+=1; //기본 (공백-문자)경우         
        } 
        i++;
    }
    cout<<ans<<"\n";
    return 0;
}

 

 

funny algorithms :0 ~

'Algorithms > BOJ' 카테고리의 다른 글

백준 2309 - 일곱 난쟁이  (0) 2020.02.07
백준 1120 - 문자열  (1) 2020.02.06
백준 14503 - 로봇 청소기  (0) 2020.02.05
백준 2455 - 지능형 기차  (0) 2020.02.04
백준 7569 - 토마토  (0) 2020.01.29
'Algorithms/BOJ' 카테고리의 다른 글
  • 백준 2309 - 일곱 난쟁이
  • 백준 1120 - 문자열
  • 백준 14503 - 로봇 청소기
  • 백준 2455 - 지능형 기차
dev.wookii
dev.wookii
Effort Maketh Happiness
  • dev.wookii
    습관처럼
    dev.wookii
  • 전체
    오늘
    어제
    • 분류 전체보기 (295)
      • Language (35)
        • python (13)
        • C++ (22)
      • Kaggle (4)
      • Algorithms (112)
        • BOJ (58)
        • programmers (43)
        • SWExpertAcademy (2)
      • Certification (38)
        • Adsp (0)
        • Sqld (28)
        • 정처기 (9)
        • 빅데이터 분석기사 (0)
      • Data Analysis & ML (6)
      • 금융 & 디지털 (65)
      • CS (32)
        • DB (2)
        • SE (3)
        • Web&JSP (1)
        • Network (11)
        • OS (2)
        • Linux&Unix (6)
        • Server (1)
        • UX,UI (1)
        • 보안 (5)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Ebay korea #coding test
    programmers
    funny algorithms
    2020 KAKAO
    시뮬레이션
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.wookii
백준 1152 - 단어의 개수
상단으로

티스토리툴바