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
'[Python]알고리즘 > 이코테 2021' 카테고리의 다른 글
[그리디 알고리즘] 숫자 카드 게임 (0) | 2022.03.18 |
---|---|
[그리디 알고리즘] ★ 큰 수의 법칙 (0) | 2022.03.18 |
[그리디 알고리즘] ★ 문제3 - 모험가 길드 (0) | 2022.03.18 |
[그리디 알고리즘] 문제1 - 1이 될 때까지 (0) | 2022.03.18 |
[그리디 알고리즘] 예시 문제 - 거스름 돈 (0) | 2022.03.18 |