https://www.acmicpc.net/problem/10820
10820번: 문자열 분석
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있
www.acmicpc.net
c++로 백준 10820번 문제를 풀어보겠다.
문제
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
입력
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
출력
첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
예제 입력 1 복사
This is String
SPACE 1 SPACE
S a M p L e I n P u T
0L1A2S3T4L5I6N7E8
예제 출력 1 복사
10 2 0 2
0 10 1 8
5 6 0 16
0 8 9 0
<문제 풀이>
1. while 문을 사용해 알파벳소문자, 대문자, 숫자, 공백의 개수를 세어 출력한다.
- while 반복문 코드 내용 -
while 문의 조건에 string을 공백도 입력받을 수 있도록 getline을 사용한다.
문자열이 입력된다면 for문을 사용해 입력된 문자열을 하나하나 조건에 비교한다.
for문 안에는 if 조건문을 사용해 소문자, 대문자, 숫자, 공백 중 해당 되는 것이 있는 지 확인한다.
소문자, 대문자, 숫자, 공백 개수를 출력한다.
코드는 다음과 같다.
'C++' 카테고리의 다른 글
[백준 알고리즘] 10871번 : X보다 작은 수, c++ (0) | 2022.01.19 |
---|---|
[백준 알고리즘] 10867번 : 중복 빼고 정렬하기, c++ (0) | 2022.01.18 |
[백준 알고리즘] 5586번 : JOI와 IOI, c++ (0) | 2022.01.18 |
[백준 알고리즘] 5598번 : 카이사르 암호, c++ (0) | 2022.01.17 |
[백준 알고리즘] 10828번 : 스택, c++ (0) | 2022.01.17 |