히스토그램
문제
네 줄(한 줄당 72자이내)을 입력으로 받아 각 문자의 빈도수를 구하여 출력하는 문자 히스토그램을 출력하는 프로그램을 작성하라.
입력
각 줄은 72자이내의 문자(알파벳 대문자, 특수문자)로 이루어진다.
출력
불필요한 빈 줄은 출력하지 않는다. 문자 사이에는 한 칸의 공백이 있다.
예제 입력
JAVA
PROGRAMMING
JAVA
JAVA
예제 출력
A의 사용 빈도는 : 7
G의 사용 빈도는 : 2
I의 사용 빈도는 : 1
J의 사용 빈도는 : 3
M의 사용 빈도는 : 2
N의 사용 빈도는 : 1
O의 사용 빈도는 : 1
P의 사용 빈도는 : 1
R의 사용 빈도는 : 2
V의 사용 빈도는 : 3
문제 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String message = scanner.nextLine();
message += scanner.nextLine();
message += scanner.nextLine();
message += scanner.nextLine();
// 공백은 세지 않는 경우는 공백 제거 및 alpha 사이즈를 64로 낮추고 -32가 아닌 -31;
// message = message.replaceAll("\\s", "");
int[] alpha = new int[65];
for(int i = 0; i < message.length(); i ++){
alpha[message.charAt(i) - 32] ++;
}
for(int i =0; i < alpha.length; i ++){
if(0 < alpha[i]){
System.out.println(Character.toString((char) (i + 32)) + "의 사용 빈도는 : " + alpha[i]);
};
}
}
}
'Programming > algorithm' 카테고리의 다른 글
[algorithm] 상수 (0) | 2016.03.08 |
---|---|
[algorithm] KMP는 왜 KMP일까? (0) | 2016.03.08 |
[algorithm] 문자열 암호화 (0) | 2016.03.05 |
[algorithm] 알파벳 찾기 (0) | 2016.03.04 |
[algorithm] 알파벳 개수 구하기 (0) | 2016.03.04 |