728x90
● [문제번호 10820] 문자열 분석
https://www.acmicpc.net/problem/10820
● 알아야 할 것
: vector 자료구조와 메소드
: string 메소드
● 풀이 과정
: 몇 문장을 받을 지 모르니 주의하여 구현
1. 문자열을 입력 받고
2. 문자열의 문자 하나씩 확인하여 소문자, 대문자, 숫자, 공백 갯수를 알아내고
3. 출력 후 (1~3) 반복
: 중단점은 입력한 문자열의 길이가 0 인 경우
● 주의 할 것
: 몇 문장을 받는지 주어진 정보가 없으므로 주의해야함
● 참고 할 것
: NULL
● 풀이 코드
#include <bits/stdc++.h>
using namespace std;
vector<int> v;
string str;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// 몇 문장을 입력 받을 지 모르니 무한 반복문
while(1)
{
// 공백있는 문자열 입력
getline(cin, str);
// 중단점 : 문자열의 길이가 0 인 경우 == 입력된 문자열이 없는 경우
if(str.length() == 0)
break;
// 소문자, 대문자, 숫자, 공백의 개수를 저장하기 위한 vector
// 0인 값으로 4개 할당
v.assign(4, 0);
for(int s = 0; s < str.length(); s++)
{
// 소문자인 경우
if('a' <= str[s] && str[s] <= 'z')
v[0]++;
// 대문자인 경우
else if('A' <= str[s] && str[s] <= 'Z')
v[1]++;
// 숫자인 경우
else if('0' <= str[s] && str[s] <= '9')
v[2]++;
// 공백인 경우
else if(str[s] == ' ')
v[3]++;
}
// 출력
for(int i = 0; i < v.size(); i++)
cout << v[i] << " ";
cout << "\n";
// vector와 string 비우기
v.clear();
str.clear();
}
return 0;
}
● [백준] - [알고리즘 기초 1/2] - [203 - 자료구조 1 (참고)] 문제집
번호 | 문제 번호 | 문제 이름 | 풀이 링크 |
1 | 1935 | 후위 표기식2 | https://pirateturtle.tistory.com/170 |
2 | 1918 | 후위 표기식 | https://pirateturtle.tistory.com/171 |
3 | 10808 | 알파벳 개수 | https://pirateturtle.tistory.com/172 |
4 | 10809 | 알파벳 찾기 | https://pirateturtle.tistory.com/173 |
5 | 10820 | 문자열 분석 | https://pirateturtle.tistory.com/174 |
6 | 2743 | 단어 길이 재기 | https://pirateturtle.tistory.com/175 |
7 | 11655 | ROT13 | https://pirateturtle.tistory.com/176 |
8 | 10824 | 네 수 | https://pirateturtle.tistory.com/177 |
9 | 11656 | 접미사 배열 | https://pirateturtle.tistory.com/178 |
728x90
'Baekjoon > [Code.plus] 알고리즘 기초 1/2' 카테고리의 다른 글
[BOJ/백준] 10824 네 수 (0) | 2021.07.27 |
---|---|
[BOJ/백준] 11655 ROT13 (0) | 2021.07.27 |
[BOJ/백준] 2743 단어 길이 재기 (0) | 2021.07.27 |
[BOJ/백준] 10809 알파벳 찾기 (0) | 2021.07.27 |
[BOJ/백준] 10808 알파벳 개수 (0) | 2021.07.27 |
[BOJ/백준] 1918 후위 표기식 (0) | 2021.07.27 |
[BOJ/백준] 1935 후위 표기식2 (0) | 2021.07.27 |
댓글