[Python]알고리즘/이코테 2021
[그리디 알고리즘] 문제2 - 곱하기 혹은 더하기
HSY_mumu
2022. 3. 18. 13:03
728x90
곱하기 혹은 더하기
1) 문제 해결 아이디어
두 수 중 하나라도 1 이하인 경우 더하기, 두 수 모두 2 이상인 경우 곱하기 |
일반적으로 + 보다 x 가 더 값을 크게 만듦
but, 두 수 중 하나라도 0 / 1이면 더하기를 수행하는 것이 효율적
2) 정당성 분석
3) 소스코드
s = input() # 0~9로 구성된 문자열
res = int(s[0]) # 첫번째 문자를 정수형 변환하여 저장
for i in range(1, len(s)):
num = int(s[i])
# 두 수가 모두 2이상이면 곱하기
if(res > 2 and num > 2):
res *= num
# 하나라도 1이하이면 더하기
else:
res += num
print(res)
728x90