코드일기장

[백준] 9733번: 꿀벌_Java 본문

PS/백준

[백준] 9733번: 꿀벌_Java

codeStudy123 2022. 6. 24. 14:29

 

 

제목: 꿀벌

실버5


문제

꿀벌이 하는 일은 다음과 같이 분류할 수 있다.

휴식(Re), 순찰(Pt), 방청소(Cc), 꽃가루 먹기(Ea), 새끼 돌보기(Tb), 벌집 짓기와 관리(Cm), 외부 활동(Ex)

한 꿀벌이 1시간 동안 한 일이 주어졌을 때, 각각을 몇 번 했고, 비율이 어떻게 되는지 구하는 프로그램을 작성하시오.

입력

입력은 꿀벌이 한 일이 공백과 줄바꿈으로 구분되어서 주어진다. 최대 24개의 일을 한다.

출력

각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다.

입력의 마지막 줄에는 "Total <total> 1.00"을 출력하며, <total>은 꿀벌이 한 일의 개수이다.


예제 입력 1 복사

Cc Pt Pt Re Tb Re Cm Cm Re Pt Pt Re Ea Ea Pt Pt
Pt Re Re Cb Cb Pt Pt Cb

예제 출력 1 복사

Re 6 0.25
Pt 9 0.38
Cc 1 0.04
Ea 2 0.08
Tb 1 0.04
Cm 2 0.08
Ex 0 0.00
Total 24 1.00

 

 

 

🔑어설픈 내 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[] out = new int[7];
		String[] strArr = {"Re","Pt","Cc","Ea","Tb","Cm","Ex"};
		int count=0;
		String stringinput ="";
		while(stringinput!=null) {
			stringinput=br.readLine();
			if(count>24||stringinput==null||stringinput.equals("")){
				break;
			}
			String[] str = stringinput.split(" ");
			count+=str.length;
			
			for (int i = 0; i < str.length; i++) {
				if (str[i].equals("Re")) {
					out[0]++;
				} else if (str[i].equals("Pt")) {
					out[1]++;
				} else if (str[i].equals("Cc")) {
					out[2]++;
				} else if (str[i].equals("Ea")) {
					out[3]++;
				} else if (str[i].equals("Tb")) {
					out[4]++;
				} else if (str[i].equals("Cm")) {
					out[5]++;
				} else if (str[i].equals("Ex")) {
					out[6]++;
				}
			}
		
		}
		
		float totalF=0f;
		for(int i=0; i<7;i++) {
			float f = 0f; 
			if(out[i]!=0) {
				f = (float)((float)out[i]/count);
				totalF+=f;
			}
			System.out.printf("%s %d %.2f\n",strArr[i],out[i],f);
		}
		System.out.printf("Total %d 1.00",count);
	}
}

 

 

 

 

 

 

 

 

 

 

 

https://www.acmicpc.net/problem/9733

 

9733번: 꿀벌

각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의

www.acmicpc.net

 

 

Comments