반응형
안녕하세요! BlockDMask 입니다.
오늘은 문자열 관련해서 문제를 풀어 보았습니다.
0) 제목
단어의 개수
BOJ 1152 번 문제입니다.
C++ 이용해서 풀었습니다.
1) 문제설명
띄어쓰기가 포함된 문장 최대 1,000,000 자 까지 입력이 됩니다.
이중, 문자 가 몇개인지 인식하여서
출력하는 문제입니다.
2) 풀이과정
char 타입 배열로 문자열을 받아서.
strtok 함수를 이용하여서 띄어쓰기를 기준으로 문자열을 나누었습니다.
3) 함수설명
주석에 달아놓았습니다
추후 strtok 사용법에 대해 작성하겠습니다.
4) 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<iostream> #include<cstdio> #include<cstring> using namespace std; int main(void){ char arr[1000001]; int count =0; //띄어쓰기를 포함한 문자열을 받기 위해 gets 사용. gets(arr); //문자열을 " " 띄어쓰기를 기준으로 word 단위로 끊기 위해 //strtok(arr, " ") 사용. char * word = strtok(arr, " "); while(word != NULL){ count++; word = strtok(NULL, " "); } cout << count << endl; return 0; } | cs |
5) 인증
출처 : https://www.acmicpc.net/problem/1152
감사합니다.
반응형
'<알고리즘 문제풀이&연습> > [C++] 백준, 프로그래머스 등등' 카테고리의 다른 글
[백준 10828] 스택 (C, C++ stack) (4) | 2017.08.01 |
---|---|
[백준 11050] 이항계수 1 (반복, 재귀) (0) | 2017.07.31 |
[백준 1157] 단어 공부 (map) (1) | 2017.07.29 |
[백준 2750] 수 정렬하기 (버블정렬, 삽입정렬) (0) | 2017.07.28 |
[백준 2577] 숫자의 개수 (0) | 2017.07.26 |
[백준 11720] 숫자의 합 (아스키코드) (0) | 2017.07.25 |
[C++ vector] Vector-Erase (0) | 2017.07.24 |
[C++ protected] Rectangle Area (Inheritance) (0) | 2017.07.19 |