일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- class
- 소수판정
- 디렉티브
- jvm
- JSP
- 예외처리
- 현대암호
- 프로그래밍
- 객체
- lang package
- 백준 알고리즘
- 자동 형변환
- 재귀호출기본
- 백준
- 암호론
- 객체지향
- HTML
- 공개키 암호
- 연결된 예외
- bubble-sort
- 클래스 패스
- 알고리즘
- java
- 형변환 연산자
- OOP
- try&catch
- BufferedWrite
- 자료구조
- 2884
- LANG
Archives
- Today
- Total
코드일기장
[백준] 9733번: 꿀벌_Java 본문
제목: 꿀벌
실버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
'PS > 백준' 카테고리의 다른 글
[백준] 20949번: 효정과 새 모니터_Java (0) | 2022.07.19 |
---|---|
[백준] 4949번: 균현잡힌 세상_Java (0) | 2022.06.30 |
[백준] 4948번: 베르트랑 공준_Java (0) | 2022.05.11 |
[백준] 2467번:용액_Java (0) | 2022.05.08 |
[백준] 4153번: 직각삼각형_Java (0) | 2022.04.19 |
Comments