코딩테스트/BOJ

[그리디] 2864. 5와 6의 차이

박소민 2024. 1. 4. 18:23
2864. 5와 6의 차이
 

2864번: 5와 6의 차이

첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)

www.acmicpc.net

 

  • 내 풀이
a, b = map(int, input().split())
anum = []
bnum = []
maxA, maxB, minA, minB = 0, 0, 0, 0


def cal(a):
    mx, mi = 0, 0
    for idx, num in enumerate(list(str(a))[::-1]):
        if int(num) == 5:
            mx += 6*(10**idx)
            mi += 5*(10**idx)
            continue
        if int(num) == 6:
            mx += 6*(10**idx)
            mi += 5*(10**idx)
            continue
        mx += int(num)*(10**idx)
        mi += int(num)*(10**idx)

    return (mx, mi)


maxA, minA = cal(a)
maxB, minB = cal(b)
print(minA+minB, maxA+maxB)

 

  • 다른 사람 풀이
    • replace(a,b) 함수를 쓰면 간단히 풀린다
A, B = input().split() #str로 입력

min_num = int(A.replace('6', '5')) + int(B.replace('6', '5')) #replace함수
max_num = int(A.replace('5', '6')) + int(B.replace('5', '6'))
print(min_num, max_num)

 

'코딩테스트 > BOJ' 카테고리의 다른 글

[백준][DP] 2156. 포도주 시식  (1) 2024.01.05
[백준] [그리디] 1080. 행렬 📍  (1) 2024.01.05
[백준] [DP] 1947. 선물 전달  (2) 2024.01.03
[백준] [DP] 2229. 조 짜기  (0) 2024.01.01
[백준][그리디] 2217. 로프  (0) 2023.12.28