Spaces:
Running
Running
| import pandas as pd | |
| # 이름, 레벨, hp%, atk%, def% (표 수치를 그대로 적기) | |
| TABLE = [ | |
| # 수치 0짜리 옵션 (크발) | |
| ("크발", 0, 0, 0, 0), | |
| # 수치 5짜리 옵션 (공격력 +5%) | |
| ("빛뿔공", 5, 0, 5, 0), | |
| # 수치 8짜리 옵션 (공격력 +8%) | |
| ("빛뿔공", 8, 0, 8, 0), | |
| ("악보",16,16,0,0), ("황보",16,0,16,0), ("여보",16,0,0,16), | |
| ("대뿔(방/체)",16,6,0,10), ("대뿔(방/공)",16,0,6,10), | |
| ("물뿔(체/공)",16,10,6,0), ("물뿔(체/방)",16,10,0,6), | |
| ("불뿔(공/방)",16,0,10,6), ("불뿔(공/체)",16,6,10,0), | |
| ("바뿔(공/체)",16,8,8,0), ("바뿔(체/방)",16,8,0,8), ("바뿔(공/방)",16,0,8,8), | |
| ("악보",17,17,0,0), ("황보",17,0,17,0), ("여보",17,0,0,17), | |
| ("대뿔(방/체)",17,6,0,11), ("대뿔(방/공)",17,0,6,11), | |
| ("물뿔(체/공)",17,11,6,0), ("물뿔(체/방)",17,11,0,6), | |
| ("불뿔(공/방)",17,0,11,6), ("불뿔(공/체)",17,6,11,0), | |
| ("바뿔(공/체)",17,9,8,0), ("바뿔(체/방)",17,9,0,8), ("바뿔(공/방)",17,0,9,8), | |
| ("악보",18,18,0,0), ("황보",18,0,18,0), ("여보",18,0,0,18), | |
| ("대뿔(방/체)",18,6,0,12), ("대뿔(방/공)",18,0,6,12), | |
| ("물뿔(체/공)",18,12,6,0), ("물뿔(체/방)",18,12,0,6), | |
| ("불뿔(공/방)",18,0,12,6), ("불뿔(공/체)",18,6,12,0), | |
| ("바뿔(공/체)",18,9,9,0), ("바뿔(체/방)",18,9,0,9), ("바뿔(공/방)",18,0,9,9), | |
| ("악보",19,19,0,0), ("황보",19,0,19,0), ("여보",19,0,0,19), | |
| ("대뿔(방/체)",19,6,0,13), ("대뿔(방/공)",19,0,6,13), | |
| ("물뿔(체/공)",19,13,6,0), ("물뿔(체/방)",19,13,0,6), | |
| ("불뿔(공/방)",19,0,13,6), ("불뿔(공/체)",19,6,13,0), | |
| ("바뿔(공/체)",19,9,10,0), ("바뿔(체/방)",19,10,0,9), ("바뿔(공/방)",19,0,10,9), | |
| ("악보",20,20,0,0), ("황보",20,0,20,0), ("여보",20,0,0,20), | |
| ("바뿔(공/체)",20,10,10,0), ("바뿔(체/공)",20,10,10,0), | |
| ("바뿔(공/방)",20,0,10,10), | |
| ] | |
| df_acc = pd.DataFrame(TABLE, columns=["이름","lv","hp%","atk%","def%"]) | |
| def optimize_accessory(hp:int, atk:int, df:int, lv:int)->dict: | |
| cand = df_acc[df_acc["lv"] == lv] | |
| best = {"name":None,"HP":hp,"ATK":atk,"DEF":df,"bibel":hp*atk*df} | |
| for _,row in cand.iterrows(): | |
| nh=int(hp*(1+row["hp%"]/100)) | |
| na=int(atk*(1+row["atk%"]/100)) | |
| nd=int(df*(1+row["def%"]/100)) | |
| b=nh*na*nd | |
| if b>best["bibel"]: | |
| best={"name":f'{row["이름"]}{lv}', | |
| "HP":nh,"ATK":na,"DEF":nd,"bibel":b, | |
| "pct":{"hp":row["hp%"]/100,"atk":row["atk%"]/100,"def":row["def%"]/100}} | |
| return best | |