어떻게 접근을 했는가?
처음에는 막연히 생각했던게 그냥 봐도 손익분기점을 구하는 문제였고, 그냥 고정비용 빼주고, 나머지 가변비용을 생각해서 그걸 계산해주면 바로 풀리지 않을까 라고 생각을 했던 거 같습니다. 물론 문제를 풀면서도 그게 어느정도 맞긴 해서 거의 답에 근접 하기는 했었습니다.
import sys
input = sys.stdin.readline
# 이걸로 일단 선언 해두기
b = input().split()
un_v = int(b[0])
pl_v = int(b[1])
no_v = int(b[2])
temp = int(un_v / (no_v - pl_v))
temp2 = int(un_v % (no_v - pl_v))
if temp < 0:
print(-1)
elif temp > 0 and temp2 > 0:
print(temp)
else:
print(temp+1)
처음 맞다고 생각을 해서 제출했던 코드를 보더라도 그냥 이 문제를 읽고 보면 이게 맞다는 생각을 다른 분들도 하셨지 않았을까 생각합니다. 당연히 그냥 고정비용 보다 노트북 가격에서 가변비용을 뺀게 더 많아지면 수익이 나는 문제 라고 생각을 하게 됩니다. 그게 맞기도 하지만 제가 문제를 풀면서 간과 한 점이 있었습니다. 일단은 노트북 비용 - 가변비용 만 해도 손익분기점을 넘길 일이 없다는 점 + 그냥 나누기를 하면 float값으로 결과가 나온다는 점(이건 기초적인 건데.. ㅎㅎ)을 간과하고 한 5번 제출했다는 게 지금 생각해도 어이가 없는 점이 있습니다.
import sys
input = sys.stdin.readline
# 이걸로 일단 선언 해두기
b = input().split()
q = int(b[0])
w = int(b[1])
e = int(b[2])
if w >= e:
print(-1)
else:
print(q // (e-w) +1)
그래서 위에서 얘기 했던걸 짧고 굵게 정리해서 나온 코드가 바로 위의 코드 입니다 ㅎㅎ
'DEV > 알고리즘 문제 풀이' 카테고리의 다른 글
[백준][파이썬] 1193번 분수찾기 (0) | 2022.01.15 |
---|---|
꾸준히 다시 공부하기 (0) | 2022.01.15 |
[백준] 4673번 with Python (0) | 2021.06.16 |
[백준] 2884번 with Python (0) | 2021.06.08 |