๋ฐฑ์ค 6595๋ฒ
https://www.acmicpc.net/problem/6595
๋ฌธ์
ํ๊ธฐ
๋งํ ์ฌ๋์ด ๋ง์ง ์์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ํ์ ์ฌ๋์ด ์ ์ ์์ผ๋ก ์ ๋ ฌํด์
์ฐพ์ ๋ฌธ์ ์ 8๋ฒ์งธ๋ค. ์ฌ๋ฌ ๋ฒ ํ๋ ธ์ต๋๋ค๋ฅผ ๋ณด๊ฒ ํ ๋ฌธ์ ์๋ค. ๊ฒฐ๋ก ์ ๋งํ์๋ฉด,
์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ์ ์ฅํ๊ณ , ํด๋นํ๋ value๊ฐ์ ๋์ ๋๋ฆฌ์ ์ ์ฅํ๋ค.
์ ์ฅ๋ฐ์ ๋ฌธ์์ด + ๋ฌธ์์ด + ๋ฌธ์์ด .... ๊ณผ ๋ถ๋ฑํธ๋ก ์ฐ๊ฒฐ๋ ์์ ๋ฐ์์ ํด๋น ์์ด ์ฐธ์ด๋ฉด
correct๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด incorrect๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ข๋ณ์๋ ๋ฌธ์์ด๊ณผ "+" ๋ถํธ๋ฐ์ ์ค์ง ์์์ ๋จ์ํ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์ฌ๋ผ์ด์ฑ
ํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๊ณ , ์ค์ ๋ก ํ ์คํธ ์ผ์ด์ค๋ ๋ฌธ์ ์์ด ํต๊ณผํ๋ค.
ํ์ง๋ง ๊ฐ๊ณผํ๋ ๋ถ๋ถ์ ๋ถ๋ ์์์ ์ ๋ํ ๋ถ๋ถ์ด์๋ค.
0.1 + 0.2 = 0.3์ด ์๋๋ผ ํ์ด์ฌ์ 0.30000000000000004 ์ ๊ฐ์ ๊ฐ์ผ๋ก ๋ฆฌํดํ๋ค.
์ด๋ 0๊ณผ 1๋ก ์ ์ฅํ๋ ์ปดํจํฐ์ ์ ์ฅ์์คํ ์ ๋ํ ์ค๋ฅ์ธ๋ฐ, ์ด์ ๊ดํ ๊ธ์ ๋ฐ๋ก ์์ฑํ ์์ ์ด๋ค.
์๋ฌดํผ, ์์์ ์ ๋ํ ๊ฐ์ด ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋์ง ์์ ๊ณ์ ํ๋ ธ์ต๋๋ค๊ฐ ๋์ค๋ ๊ฒ์ ์ ์ ์์๊ณ ,
๋ฌธ์ ์์๋ ์์์ ์ฒซ์งธ์ง๋ฆฌ ๊น์ง๋ง value๊ฐ์ผ๋ก ์ ๋ ฅ๋๋ค๋ ๋ถ๋ถ์ด ์์๊ธฐ ๋๋ฌธ์,
์์์ ๋์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ๊ฐ์ ๋น๊ตํ ์ ์๊ฒ roundํจ์๋ฅผ ์ฌ์ฉํด์ ํด๊ฒฐํ ์ ์์๋ค.
๋์ ํ์ด
import sys
input =sys.stdin.readline
li = dict()
N , M = map(int,input().split())
for _ in range(N):
name, num = map(str,input().rstrip().split())
num = float(num)
li[name] = num
for case in range(1,M+1):
cnt = 0
new_li = list(map(str,input().rstrip().split()))
n= int(new_li[-1])
new_li = new_li[:-1]
for i in new_li:
if i in li.keys():
cnt += li.get(i)
elif i == "<":
cnt = round(cnt,1)
if cnt < n:
print("Guess #{} was correct.".format(case))
else:
print("Guess #{} was incorrect.".format(case))
elif i == ">":
cnt = round(cnt,1)
if cnt > n:
print("Guess #{} was correct.".format(case))
else:
print("Guess #{} was incorrect.".format(case))
elif i == "<=":
cnt = round(cnt,1)
if cnt <= n:
print("Guess #{} was correct.".format(case))
else:
print("Guess #{} was incorrect.".format(case))
elif i == ">=":
cnt = round(cnt,1)
if cnt >= n:
print("Guess #{} was correct.".format(case))
else:
print("Guess #{} was incorrect.".format(case))
elif i== "=":
cnt = round(cnt,1)
if cnt == n:
print("Guess #{} was correct.".format(case))
else:
print("Guess #{} was incorrect.".format(case))