본문 바로가기

Programming/algorithm

[algorithm] 히스토그램



히스토그램


문제

네 줄(한 줄당 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.lengthi ++){

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