다 구할필요없다. 최소 최대를 만드는 조건만 적용하면 된다.
import sys
input = sys.stdin.readline
minkyum = input().rstrip()
n = len(minkyum)
max_v = ''
left = 0
for i in range(n):
if minkyum[i]=='K':
max_v += '5' + '0'*(i - left)
left = i+1
if minkyum[n-1] =='M':
max_v += '1'*(n - left)
min_v = ''
left = 0
for i in range(n):
if minkyum[i]=='K':
if i>0 and minkyum[i-1]=='M':
min_v += str(10**(i-left-1))
min_v += '5'
left = i+1
if minkyum[n-1] =='M':
min_v += '1' + '0'*(n-1 - left)
print(max_v)
print(min_v)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 11256 사탕 (0) | 2021.09.13 |
---|---|
[백준][Python] 19542 전단지 돌리기 (0) | 2021.09.13 |
[백준][Python] 5671 호텔 방 번호 (0) | 2021.09.13 |
[백준][Python] 2143 두 배열의 합 (0) | 2021.09.13 |
[백준][Python] 2138 전구와 스위치 (0) | 2021.09.13 |