본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 2896번 : 무알콜 칵테일 답

반응형

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

 

2896번: 무알콜 칵테일

문제 상근이와 지수는 마트에서 오렌지 주스, 사과 주스, 파인애플 주스를 구매했다. 그들은 인터넷에서 찾은 방법으로 무알콜 칵테일을 만들어 학교에서 팔려고 한다. 하지만, 칵테일을 만드는

www.acmicpc.net

소수점에 대한 처리를 물어보는 문제였습니다.

c++에는 precision함수, c에는 printf("%.6f", a); 식으로 사용하여 자동으로 반올림하여 원하는 자리만큼 출력할 수 있습니다.

 

풀이방법 : 

 1. -0이 될 경우를 고려해 precision함수를 사용하였습니다.

 

Code : 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    double a,b,c,l,j,k;
    cin >> a >> b >> c >> l >> j >> k;
    double mini = min({a/l, b/j, c/k});
    cout.precision(7); //출력시 8번째자리에서 반올림한 후, 소수점 7번째자리까지 출력.
    //printf("%.7lf %.7lf %.7lf\n", a - l*mini, b - j*mini, c - k*mini);
    if(a- l * mini <= 0cout << 0 <<' ';
    else cout << a - l*mini << ' ';
    if(b - j*mini <= 0cout << 0 << ' ';
    else cout << b - j * mini << ' ';
    if(c - k*mini<=0cout << 0 << ' ';
    else cout << c - k*mini << ' ';
}