혼.공.파 4-3 마무리 확인문제 4번

집중한 볼따구·2022년 9월 21일
0

혼.공.파 문제풀이

목록 보기
6/11

혼.공.파 4-3 마무리 확인문제 4번 p.249

Q.1부터 100까지의 숫자가 있다고 할 때

1*99, 2*98, --- , 99*1

다음과 같이 계산한다고 할 때, 최대가 되는 경우를 구하시오

A. 나의 코드

max_value = 0
a = 0
b = 0

for i in range(1,100):
    j = 100 - i
    if (max_value < i*j):
        max_value = i * j
        a = i
        b = j

print("최대가 되는 경우: {} * {} = {}".format(a, b, max_value))

나의 코드 결과

책의 코드

max_value = 0
a = 0
b = 0

for i in range(1, 100//2 + 1):
    j = 100 - i
    current = i * j
    if max_value < current:
        a = i
        b = j
        max_value = current

print("최대가 되는 경우: {} * {} = {}".format(a, b, max_value))

책의 코드 결과

코멘트

책의 경우 for문 범위에 정수 나누기 연산자를 넣어
연산 횟수를 반으로 줄였다
어차피 1곱하기 99랑 99곱하기 1이랑 같으니 반으로 줄여도
상관없다
성능을 신경쓴다고 범위를 반절로 줄이는 것이 좋다

0개의 댓글