코드업 문제집 파이썬 if~else 1205 : 최댓값
[문제]
두 실수 a, b가 입력되면 그 두수를 더하거나 빼거나 곱하거나 나누거나 제곱을 해서 가장 큰 수를 출력하시오.
예를 들어 1과 2가 입력되면,
1+2 = 3 , 2+1 = 3
1 - 2 = -1, 2 - 1 = 1
1 * 2 = 2, 2 * 1 = 2
1 / 2 = 0.5, 2 / 1 = 2
12=1 , 21 = 2
따라서 최댓값은 3이다.
[문제 해설(핵심)]
두 수로 가능한 여러 계산 결과를 전부 구한 다음, 그중 가장 큰 값을 찾는 문제
a + b
a - b
b - a
a * b
a / b
b / a
a ** b
b ** a
[문제풀이 1 - if else 사용]
계산 결과 하나를 result에 넣어두고 계산 결과가 result보다 큰지 하나씩 비교.
현재 result보다 크다
↓
result를 그 값으로 바꿈
현재 result보다 작다
↓
그대로 둠
f" " : 문자열 안에 변수를 넣을 수 있게 하는 f-string(문자열 안에 변수 값을 바로 넣을 수 있게 해주는 파이썬 문법)
{result} : result 변수의 값을 넣음.
: → 출력 형식을 지정
.6 → 소수점 아래 6자리까지
f → 실수 형태로 출력
a, b = map(float, input().split())
result = a + b
if a - b > result:
result = a - b
if b - a > result:
result = b - a
if a * b > result:
result = a * b
if a / b > result:
result = a / b
if b / a > result:
result = b / a
if a ** b > result:
result = a ** b
if b ** a > result:
result = b ** a
print(f"{result:.6f}")
마지막 print문은 아래로도 사용 가능.
print(f"{result:.6f}") # f-string
print("%.6f" % result) # % 방식
print("{:.6f}".format(result)) # format 방식
print(round(result, 6)) => result를 소수점 6자리까지 반올림이지만, 무조건 소수점 6자리를 채워주진 않음.
[문제 풀이 2 - max 사용]
두 수를 실수로 입력받는다. a,b
↓
가능한 계산 결과를 리스트에 모두 넣는다.
↓
max()를 이용해서 가장 큰 값을 찾는다.
↓
:.6f를 사용해서 소수점 6자리까지 출력한다.
[사용된 개념 설명]
** : 제곱. a**b = a의 b제곱
max() : 가장 큰 값 찾기
:.6f : 소수점 아래 6자리까지 출력
a, b = map(float, input().split())
result = [
a + b,
a - b,
b - a,
a * b,
a / b,
b / a,
a ** b,
b ** a
]
print(f"{max(result):.6f}")
초보자 기준 C/C++로 푸는게 더 쉬울 것 같다.
'코딩공부 > 코드업 파이썬' 카테고리의 다른 글
| 코드업 문제집 파이썬 if~else 1214 : 이 달은 며칠까지 있을까? (1) | 2026.09.06 |
|---|---|
| 코드업 문제집 파이썬 if~else 1212 : 삼각형의 성립 조건 (0) | 2026.09.06 |
| 코드업 문제집 파이썬 if~else 1180 : 만능 휴지통 (0) | 2026.09.02 |
| 코드업 문제집 파이썬 if~else 1173 : 30분전 (0) | 2026.09.02 |
| 코드업 문제집 파이썬 if ~else 1167 : 두 번째 수 (0) | 2026.08.29 |
댓글