Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 프로그래머스
- 백준 17626
- MySQL
- Spring Boot
- java
- 백준 15685
- springboot
- Spring
- 웹어플리케이션 서버
- 백준 파이썬
- 백준 17779
- with recursive
- sql 기술면접
- JVM
- re.split
- 프로래머스
- Coroutine
- spring security
- 백준
- 백준 16236
- spring oauth
- 백준 16235
- Kotlin
- 파이썬
- MSA
- JPA
- java 기술면접
- 백준 16719
- 백준 19238
- spring cloud
Archives
- Today
- Total
시작이 반
[백준] 20546번번 (python 파이썬) 본문
SMALL
구현 문제이다.
준현이는 현재 가진돈에서 주식을 살 수 있으면 살 수 있는 개수만큼 전량 매수하고 팔지 않는다.
성준이는 가격이 연속으로 3일 하락하면 해당 날에 주식을 전량 매수한다.
또한 가격이 연속으로 3일 상승하면 해당 날에 주식을 전량 매도한다.
마지막 날에 남은 돈과 주식을 갖고 있는 개수를 구하여 서로 비교한다.
money = int(input())
stocks = list(map(int,input().split()))
def jun():
left_money = money
stock_n = 0
for stock in stocks:
stock_n += left_money // stock
left_money = left_money % stock
if left_money == 0:
break
return left_money, stock_n
def sung():
left_money = money
stock_n = 0
for i in range(len(stocks)-4):
if stocks[i] < stocks[i+1] < stocks[i+2] < stocks[i+3]:
left_money += stock_n * stocks[i+3]
stock_n = 0
if stocks[i] > stocks[i+1] > stocks[i+2] > stocks[i+3]:
stock_n += left_money // stocks[i+3]
left_money = left_money % stocks[i+3]
return left_money, stock_n
jun_money, jun_stock = jun()
total_jun_money = jun_money + jun_stock * stocks[-1]
sung_money, sung_stock = sung()
total_sung_money = sung_money + sung_stock * stocks[-1]
if total_jun_money < total_sung_money:
print('TIMING')
elif total_jun_money > total_sung_money:
print('BNP')
else:
print('SAMESAME')
LIST
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 14467번번 (python 파이썬) (0) | 2021.03.24 |
---|---|
[백준] 1913번번 (python 파이썬) (0) | 2021.03.24 |
[백준] 1753번번 (python 파이썬) (1) | 2021.03.20 |
[백준] 2110번번 (python 파이썬) (0) | 2021.03.17 |
[백준] 2805번번 (python 파이썬) (0) | 2021.03.17 |