본문 바로가기

Android ᙏ̤̫͚/차근차근 JAVA

[백준 10820번] 문자열 분석

 

www.acmicpc.net/problem/10820

 

10820번: 문자열 분석

문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있

www.acmicpc.net

 

[문제]

문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.

각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.

 

<알고리즘 분류> 구현

 

[input]

첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.

[output]

첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.

 


 

 


 

[풀이 방법]

- Scanner 사용

  1. 소문자, 대문자, 숫자, 공백 카운팅한 값을 저장할 배열과 변수 생성

  2. 다음 입력받을 값 존재한다면 while문 실행되도록 조건 설정

  3. 카운팅 값 저장할 변수의 값은 0으로 초기화

  4. 문자열 입력받아 변수 S에 저장하여 각 문자가 어디에 해당하는지 파악한 후 해당 변수++

  5. 소문자, 대문자, 숫자, 공백 카운팅한 값을 공백으로 구분하여 문자열마다 한 줄씩 출력

 

- BufferedReader+BufferedWriter 사용

  1. 입력값 있으면 실행되는 while문 조건 설정

  2. 문자열 입력받아 변수 S에 저장

  3. 입력받았을 때마다 count 배열 생성하여 소문자, 대문자, 숫자, 공백 카운팅한 값을 순서대로 인덱스에 저장

  4. count 배열의 값을 공백으로 구분하여 출력 후 줄 바꿈해줌

  5. 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