[문제]
https://www.acmicpc.net/problem/17496
[풀이]
원래는 자바로 백준을 풀었어서 Python 외부 라이브러리를 사용할 수 없는지 몰랐다 ㅎㅎ
대표적으로 numpy를 사용해서 ModuleNotFoundError가 난다고 하는데 나는 sympy를 사용해서 런타임오류가 났다.
방정식 부분만 외부 모듈을 사용하지 않게 코드 수정 중 어이없게도 진짜 간단하게 풀 수 있었다.. 이렇게 비효율적인 코드라니 기억해두려고 남긴다.
+ 그래도 알게된 모듈 sympy
sympy
from sympy import Symbol, solve
x = Symbol('x')
equation = x * 2 + 7
solve(equation, dict = True)
solve 실행 시 기본적으로는 list값으로 해가 반환되고, 옵션인 dict 값을 True로 주면 dict 값으로 반환한다.
[코드]
- 런타임오류 : ModuleNotFoundError
from sympy import Symbol, solve
def find_plant_cnt(g_duration, s_duration):
x = Symbol('x')
equation = 1 + (g_duration * x) - s_duration
result = solve(equation).pop()
return int(result)
def find_revenue(s_duration, g_duration, blank, price):
plant_cnt = find_plant_cnt(g_duration, s_duration)
result = blank * plant_cnt * price
return result
if __name__ == '__main__':
n, t, c, p = map(int, input().split())
print(find_revenue(n, t, c, p))
- 제출 코드
if __name__ == '__main__':
n, t, c, p = map(int, input().split())
print((n-1)//t * c * p)
'문제풀이 > BOJ' 카테고리의 다른 글
[Python] BOJ/백준 1009번 분산처리 (0) | 2021.06.09 |
---|---|
[Python] BOJ/백준 1267번 핸드폰 요금 (0) | 2021.06.08 |
[Python] BOJ/백준 11653번 소인수분해 (0) | 2021.06.04 |
[Python] BOJ/백준 7568번 덩치 (0) | 2021.06.04 |
[Python] BOJ/백준 2609번 최대공약수와 최소공배수 (0) | 2021.06.01 |