BOJ 13258 : 복권 + 은행(Java)

박철민·2023년 4월 7일
0

알고리즘 풀이

목록 보기
8/13

풀이

아이디어

그냥 수학 문제이다.

원금 + (주 당첨금 원래 잔고) / 티켓 수로 문제를 간단히 풀 수 있다.

		int num = Integer.parseInt(st.nextToken());
		int sum = num;
		
		for(int i=1; i<N; i++) {
			sum += Integer.parseInt(st.nextToken());
		}
		double J = Integer.parseInt(br.readLine());
		double C = Integer.parseInt(br.readLine());
		
		// 적어도 한 사람의 잔고는 0원보다 많기 때문에 sum이 0이 되는 경우는 없다.
		double ans = num + (num * J * C) / sum; 
		System.out.printf("%.10f", ans);

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class No13258 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int num = Integer.parseInt(st.nextToken());
		int sum = num;
		
		for(int i=1; i<N; i++) {
			sum += Integer.parseInt(st.nextToken());
		}
		double J = Integer.parseInt(br.readLine());
		double C = Integer.parseInt(br.readLine());
		
		// 적어도 한 사람의 잔고는 0원보다 많기 때문에 sum이 0이 되는 경우는 없다.
		double ans = num + (num * J * C) / sum; 
		System.out.printf("%.10f", ans);
		br.close();
	}
}
profile
멘땅에 헤딩하는 사람

0개의 댓글