취준이랄까../코테

백준: 기적의 매매법, 파이썬

넹넹선생님 2024. 4. 19. 08:32
728x90
반응형

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

 

20546번: 🐜 기적의 매매법 🐜

1월 14일 기준 준현이의 자산이 더 크다면 "BNP"를, 성민이의 자산이 더 크다면 "TIMING"을 출력한다. 둘의 자산이 같다면 "SAMESAME"을 출력한다. 모든 결과 따옴표를 제외하고 출력한다.

www.acmicpc.net

Money = int(input())                                
MachineDuck = list(map(int, input().split()))

# 준현
n_jusic=0
j_money = Money
for j in MachineDuck:
    if j_money >= j:
        n_jusic += j_money//j
        j_money = j_money%j

# 성민
s_jusic = 0
s_money = Money
for i in range(3,len(MachineDuck)):
    if (MachineDuck[i-3]>MachineDuck[i-2]) and (MachineDuck[i-2]>MachineDuck[i-1]) and (MachineDuck[i-1]>MachineDuck[i]):
        if s_money >= MachineDuck[i]:
            s_jusic += s_money//MachineDuck[i]
            s_money = s_money%MachineDuck[i]

j_sum = j_money+n_jusic*MachineDuck[-1]
s_sum = s_money+s_jusic*MachineDuck[-1]
if j_sum > s_sum:
    print("BNP")
elif j_sum < s_sum:
    print("TIMING")
else:
    print("SAMESAME")

 

"""
다른 사람 풀이 임: yuuforest.log
https://velog.io/@yuuforest/%EB%B0%B1%EC%A4%80-20546.-%EA%B8%B0%EC%A0%81%EC%9D%98-%EB%A7%A4%EB%A7%A4%EB%B2%95
"""

# 준현이 VS 성민이

Money = int(input())                                # 초기 현금
MachineDuck = list(map(int, input().split()))       # 1일부터 14일까지의 주가

# 준현이
money_bnp = Money   
count_bnp = 0

# 성민이
money_timing = Money
count_timing = 0

for num, price in enumerate(MachineDuck):

    # 준현
    count_bnp += (money_bnp // price)
    money_bnp %= price

    # 성민
    temp = MachineDuck[num:num+4]

    if len(temp) < 4:
        continue

    if temp[0] < temp[1] < temp[2] < temp[3] and count_timing > 0:         # 매도
        money_timing += (count_timing * temp[3])
        count_timing = 0
    elif temp[0] > temp[1] > temp[2] > temp[3]:                             # 매수
        count_timing += (money_timing // temp[3])
        money_timing %= temp[3]

answer_bnp = money_bnp + count_bnp * MachineDuck[-1]
answer_timing = money_timing + count_timing * MachineDuck[-1] 

if answer_bnp < answer_timing:
    print("TIMING")
elif answer_bnp > answer_timing:
    print("BNP")
else:
    print("SAMESAME")
728x90
반응형

'취준이랄까.. > 코테' 카테고리의 다른 글

DFS 기본 코드  (0) 2024.04.19
bfs, dfs: 그래프 탐색  (0) 2024.04.19
정렬(선택 정렬, 삽입 정렬)  (0) 2024.04.15
BFS  (0) 2024.04.15
DFS  (0) 2024.04.15