기록하고 까먹지 말기

2864 본문

전공/백준

2864

yha97 2022. 9. 25. 10:29

날짜 : 2022. 09. 25

사용 언어 : python

 

문제

 

코드

import sys

A, B = map(int, sys.stdin.readline().split())
a = dict()
b = dict()
mi = 0
ma = 0
cnt = 0
while (A > 0) or (B > 0): #자릿수 별로 저장
    a[10**cnt] = A % 10
    b[10**cnt] = B % 10
    cnt += 1
    A = A // 10
    B = B // 10
#print(a)
#print(b)
for i in range(len(a.keys())):
    if (a[10**i] == 6) and (b[10**i] == 6): # 둘 다 6일 때
        mi += (5 * (10**i)) * 2
    elif (a[10**i] == 6): # 하나만 6일 때
        mi += (5 * (10**i)) + (b[10**i] * (10 ** i))
    elif (b[10**i] == 6):
        mi += (5 * (10**i)) + (a[10**i] * (10**i))
    else: # 둘 다 아닐 때
        mi += (a[10**i] + b[10**i]) * (10**i)
        
for i in range(len(a.keys())):
    if (a[10**i] == 5) and (b[10**i] == 5):
        ma += (6 * (10**i)) * 2
    elif (a[10**i] == 5):
        ma += (6 * (10**i)) + (b[10**i] * (10 ** i))
    elif (b[10**i] == 5):
        ma += (6 * (10**i)) + (a[10**i] * (10**i))
    else:
        ma += (a[10**i] + b[10**i]) * (10**i)
        
print("%d %d"%(mi, ma))

 

 

알게된 점

- 딕셔너리를 생성 후 자릿수별로 숫자를 저장했다.

- 따로 carry를 저장할 필요는 없었다.

- 확실히 파이썬이 **연산자나 딕셔너리가 있어서 편한 듯 하다.

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

1966  (0) 2022.09.27
10773  (0) 2022.09.26
1541  (0) 2022.09.23
1715  (0) 2022.09.23
1946  (0) 2022.09.22