https://www.acmicpc.net/problem/2864
문제
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
출력
첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.
풀이
두 수의 합이 최소인 경우는 두 수에 있는 6이 모두 5로 바뀐 경우다.
두 수의 합이 최대인 경우는 두 수에 있는 5가 모두 6으로 바뀐 경우다.
이에 알맞게 코드를 작성해 주었다.
소스 코드
a, b = input().split()
min = int(a) + int(b)
max = int(a) + int(b)
for i in range(len(a)):
if a[i] == '5':
max += 10**(len(a)-i-1)
if a[i] == '6':
min -= 10**(len(a)-i-1)
for i in range(len(b)):
if b[i] == '5':
max += 10**(len(b)-i-1)
if b[i] == '6':
min -= 10**(len(b)-i-1)
print(min, max)
'알고리즘 공부 > 백준' 카테고리의 다른 글
백준 2437번: 저울 (파이썬) (0) | 2022.01.18 |
---|---|
백준 1080번: 행렬 (파이썬) (0) | 2022.01.18 |
백준 1202번: 보석 도둑 (파이썬) (0) | 2022.01.18 |
백준 1049번: 기타줄 (파이썬) (0) | 2022.01.18 |
백준 1744번: 수 묶기 (파이썬) (0) | 2022.01.18 |