공부하기/백준

[Java] 백준 풀기 1271 - 엄청난 부자2

XEV 2024. 4. 24. 23:19

자바 백준 1271번

브론즈 5

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

 

1271번: 엄청난 부자2

첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수)

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 사칙연산, 임의 정밀도, 큰 수 연산

 

 

 

 

 

코드 풀이

import java.util.Scanner;
import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 가진 돈(n)과 생명체의 수(m)를 입력
        BigDecimal n = sc.nextBigDecimal();
        BigDecimal m = sc.nextBigDecimal();
        
        // distributeMoney 함수를 호출하여 돈을 분배하고 남는 돈을 계산
        BigDecimal[] result = distributeMoney(n, m);
        
        // 생명체 하나에게 돌아가는 돈과 남는 돈을 출력
        System.out.println(result[0]);
        System.out.println(result[1]);
    }
    
    // 생명체들에게 돈을 분배하고 남는 돈을 계산하는 메서드
    private static BigDecimal[] distributeMoney(BigDecimal n, BigDecimal m) {
        BigDecimal[] result = new BigDecimal[2];
        
        // 돈을 분배하여 생명체 하나에게 돌아가는 돈 계산
        result[0] = n.divide(m, 0, BigDecimal.ROUND_DOWN);
        
        // 남는 돈 계산
        result[1] = n.remainder(m);
        
        return result;
    }
}