1469: 혈중 알콜농도 측정
문제 설명
2019년 6월 25일 제2윤창호법이 시행되면서 음주운전 처벌 기준이 강화되었다.
음주운전 했을 시 혈중 알콜 농도 | 음주운전 처벌 |
0.03% 미만 | pass(통과) |
0.03%이상 0.08%미만 | stop(면허정지) |
0.08% 이상 | cancel(면허취소) |
위드마크 공식과 시간당 혈중알코올농도 감소량을 이용하면 음주운전을 했을 시 혈중 알코올농도를 계산해 볼 수 있다.
위드마크 공식은 1914년 스웨덴 생화학자 위드마크가 창안하였으며 음주 후 30분이 지난 후의 혈중알코올농도 최고치(C)를 계산할 수 있다.
C = {A ÷ (P × R)} ÷ 10
* C = 혈중알코올농도 최고치(%)
* A = 운전자가 섭취한 알코올의 양 (음주량(㎖)×(술의 도수÷100)×0.7984)
* P = 사람의 체중(㎏)
* R = 성별에 대한 계수 (남자는 0.7 , 여자는 0.6)
혈중알코올농도는 음주 후 30분이 지난 후를 시점으로 경과 시간당 0.015%씩 감소 하므로 음주운전을 했을 시 혈중알코올농도(Ct)를 계산하기 위해서는 혈중알코올농도 최고치(C)에서 경과 시간에 따른 혈중알코올농도를 빼주어야 한다. (Ct = C - 0.015×시간)
음주량, 술의 도수, 체중, 성별코드(남:1, 여:2), 경과시간(시간, 분)이 주어졌을 때, 음주운전을 했을 시 혈중알코올농도(Ct)와 기준에 따른 음주운전 처벌(pass/stop/cancel) 을 출력하는 프로그램을 작성하시오.
배정밀도로 인해 실수의 자료형으로 double을 사용하는 것을 추천함.
입력 설명
1. 첫째 행에 음주량, 술의 도수, 체중, 성별코드(남:1, 여:2) 값이 빈칸으로 구분되어 주어진다. 음주량, 술의 도수, 체중은 소수 첫째 자리까지 제시된다. (단, 0.0≤음주량≤10000.0, 0.0≤술의 도수≤100.0, 30.0≤체중≤150.0)
2. 둘째 행에 경과시간(시)을 나타내는 시간, 분 값이 빈칸으로 구분되어 주어진다. (단, 시간의 총합은 30분 이상 100시간 이하로 주어진다.)
출력 설명
1. 혈중알코올농도(Ct)는 소수점 아래 넷째 자리에서 반올림한 값을 소수 셋째 자리까지 출력한다. (예) 2(×) 2.0(×) 2.00(×) 2.000(○) (단, Ct ≥ 0.000)
2. 음주운전을 했을 시 처벌을 빈칸으로 구분하여 출력한다. (단, 처벌기준은 소수 넷째 자리에서 반올림한 값으로 판단한다.)
3. 출력되는 모든 영문자는 반드시 소문자로 출력해야 한다.
입력 예시 Copy
180.0 25.0 60.0 1
2 45
출력 예시 Copy
0.052 stop
도움
[입력예시 2]
113.5 15.7 45.7 2
1 17
[출력예시 2]
0.040 stop