10820번: 문자열 분석
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있
www.acmicpc.net
[문제]
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
<알고리즘 분류> 구현
[input]
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
[output]
첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
[풀이 방법]
- Scanner 사용
-
소문자, 대문자, 숫자, 공백 카운팅한 값을 저장할 배열과 변수 생성
-
다음 입력받을 값 존재한다면 while문 실행되도록 조건 설정
-
카운팅 값 저장할 변수의 값은 0으로 초기화
-
문자열 입력받아 변수 S에 저장하여 각 문자가 어디에 해당하는지 파악한 후 해당 변수++
-
소문자, 대문자, 숫자, 공백 카운팅한 값을 공백으로 구분하여 문자열마다 한 줄씩 출력
- BufferedReader+BufferedWriter 사용
-
입력값 있으면 실행되는 while문 조건 설정
-
문자열 입력받아 변수 S에 저장
-
입력받았을 때마다 count 배열 생성하여 소문자, 대문자, 숫자, 공백 카운팅한 값을 순서대로 인덱스에 저장
-
count 배열의 값을 공백으로 구분하여 출력 후 줄 바꿈해줌
-
bw.write(...) + bw.flush( ) 활용
성공 코드 - Scanner 사용
성공 코드 - BufferedReader+BufferedWriter 사용
'Android ᙏ̤̫͚ > 차근차근 JAVA' 카테고리의 다른 글
[백준 11655번] ROT13 (0) | 2021.02.15 |
---|---|
[백준 2743번] 단어 길이 재기 (0) | 2021.02.15 |
[백준 10808번] 알파벳 개수 (0) | 2021.02.14 |
[백준 1850번] 최대공약수 (0) | 2021.02.12 |
[백준 1934번] 최소공배수 (0) | 2021.02.12 |