Skip to content

Commit d066b35

Browse files
committed
[Bronze II] Title: 가격, Time: 32 ms, Memory: 32412 KB -BaekjoonHub
1 parent d47f4e2 commit d066b35

2 files changed

Lines changed: 126 additions & 0 deletions

File tree

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# [Bronze II] 가격 - 11296
2+
3+
[문제 링크](https://www.acmicpc.net/problem/11296)
4+
5+
### 성능 요약
6+
7+
메모리: 32412 KB, 시간: 32 ms
8+
9+
### 분류
10+
11+
사칙연산, 구현, 수학
12+
13+
### 제출 일자
14+
15+
2025년 5월 12일 20:16:57
16+
17+
### 문제 설명
18+
19+
<p>Golden Valley(골든 벨리) 의류 창고에는 겨울 재고가 많이 쌓여있는데, 곧 들어올 봄 여름 신상품을 위한 공간 마련을 위해 겨울 재고를 빨리 판매하려 합니다. 관리자는 상당히 복잡한 세일 정책을 생각했고, 당신에게 그것을 시행하도록 맡겼습니다.</p>
20+
21+
<p>여기에 관리자가 정해놓은 규칙이 있습니다.</p>
22+
23+
<p>물건들에는 색이 있는 점 모양의 스티커가 하나씩 붙어있습니다. 각각의 점은 아래 표와 같은 할인 비율을 나타냅니다.</p>
24+
25+
<table class="table table-bordered" style="width:30%">
26+
<tbody>
27+
<tr>
28+
<td>점의 색깔</td>
29+
<td>할인율%</td>
30+
</tr>
31+
<tr>
32+
<td>빨강색</td>
33+
<td>45</td>
34+
</tr>
35+
<tr>
36+
<td>초록색</td>
37+
<td>30</td>
38+
</tr>
39+
<tr>
40+
<td>파란색</td>
41+
<td>20</td>
42+
</tr>
43+
<tr>
44+
<td>노란색</td>
45+
<td>15</td>
46+
</tr>
47+
<tr>
48+
<td>주황색</td>
49+
<td>10</td>
50+
</tr>
51+
<tr>
52+
<td>흰색</td>
53+
<td>5</td>
54+
</tr>
55+
</tbody>
56+
</table>
57+
58+
<p>또한, 관리자는 할인 쿠폰을 뿌리고 있습니다! 할인 쿠폰을 가진 고객은 할인된 가격에서 추가로 5%의 할인을 받습니다.</p>
59+
60+
<p>당신은 주어진 각 항목의 할인된 가격을 계산해야합니다. 당신의 프로그램은 판매되는 동안 계속 작동해야하고, 소수점 셋째 자리에서 반올림해야합니다.</p>
61+
62+
<p>만약 고객이 현금을 지불하면, 당신은 소수점 둘째 자리에서 반올림하셔야 합니다. 단, 이때 5는 버려집니다. 즉 0.05를 반올림하면 0.00이 되고, 0.06을 반올림하면 0.10이 됩니다.</p>
63+
64+
### 입력
65+
66+
<p>첫 번째 줄의 입력은 양의 정수이며, N(0 < N <= 100)은 구매자 수를 의미하며 다음 라인은 각자의 구매를 나타냅니다.</p>
67+
68+
<p>각 행은 다음과 같은 형식이며, 항목은 공백으로 구분됩니다.</p>
69+
70+
<pre><원래 가격><dots(점)><쿠폰><결제></pre>
71+
72+
<ul>
73+
<li><원래 가격>: 모든 할인 전 품목의 가격, 소수점은 2번째 자리까지입니다.</li>
74+
<li><dots(점)>: 점의 색깔이며, 색의 첫 글자인 대문자를 이용하여 색을 나타냅니다.</li>
75+
<li><쿠폰>: C는 쿠폰이 있는 경우, X는 쿠폰이 없는 경우를 의미합니다.</li>
76+
<li><결제>: C는 현금결제를, P는 카드결제를 의미합니다.</li>
77+
</ul>
78+
79+
### 출력
80+
81+
<p>입력 받은 것의 할인된 가격을 한 줄에 출력해야 합니다. 그리고 이러한 형식입니다.</p>
82+
83+
<pre>$d.cc</pre>
84+
85+
<p>즉, 달러기호, 금액, 소수점 2자리까지이며, 소수점이 0인 경우, 0을 표시해야합니다.</p>
86+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# 11296 가격
2+
# 브론즈 2
3+
4+
import sys
5+
input = sys.stdin.readline
6+
7+
# 구매자 수
8+
n = int(input())
9+
10+
for _ in range(n):
11+
price, dot, coupon, pay = input().split()
12+
13+
price = float(price)
14+
15+
if dot == 'R': # 빨강
16+
price = (price / 100) * 55
17+
elif dot == 'G': # 초록
18+
price = (price / 100) * 70
19+
elif dot == 'B': # 파랑
20+
price = (price / 100) * 80
21+
elif dot == 'Y': # 노랑
22+
price = (price / 100) * 85
23+
elif dot == 'O': # 주황
24+
price = (price / 100) * 90
25+
else: # 흰색
26+
price = (price / 100) * 95
27+
28+
if coupon == 'C': # 쿠폰 5%
29+
price = (price / 100) * 95
30+
31+
if pay == 'C': # 현금 결제 : 둘째자리 반올림, 5는 버림
32+
price *= 100
33+
int(price)
34+
if price % 10 > 5:
35+
price = price + 10 - price % 10
36+
else:
37+
price -= price % 10
38+
print("$%.2f" %(price/100))
39+
else: # 카드 결제 : 셋째자리 반올림
40+
print("$%.2f" %price)

0 commit comments

Comments
 (0)