최대 1 분 소요

1. 문제Permalink

[Bronze V] 스타후르츠 - 17496Permalink

문제 링크

성능 요약Permalink

메모리: 30860 KB, 시간: 68 ms

분류Permalink

사칙연산(arithmetic), 수학(math)

출처: 백준, https://https://www.acmicpc.net/

2. 해결방법 시간복잡도Permalink

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드Permalink


N, T, C, P = map(int, input().split())
cnt = 0
result = 0
for i in range(N):
cnt += T
if cnt >= N:
break
else:
result += C
print(P * result)
view raw 17496.py hosted with ❤ by GitHub
  • 주석을 참고하면서 이해를 돕습니다.Permalink

4. 알고리즘 및 해설Permalink

  1. 반복문을 통해 해당 위에 문구에서 제시하는 조건을 충족한 뒤 결과문을 출력해준다.
    • 여름의 일 수와 스타후르츠가 자라는데 걸리는 일 수, 스타후르츠를 심을 수 있는 칸의 수, 개당 가격
    • 여름 일수가 지나는 동안 자라는데 걸리는 일수를 더해준다. cnt += T
    • 만약 자라는데 걸리는 일수가 여름을 지나갈 경우 break 해준다.
    • 아니라면 결과값에 스타후르츠를 심을 수 있는 칸의 수를 result에다가 계속해서 더해준다.
    • 최종적으로 개당 가격인 P와 result값을 곱한 뒤 출력한다.