BOJ_2864 5와 6의 차이 -Python3

문제분석

1. 관찰
- 5를 5나 6으로 보고, 6을 5나 6으로 본다.
- 최소값: 6을 5로 바꾼경우
- 최대값: 6을 5로 바꾼경우

2. 복잡도
- O(len(A)+len(B)) = 7+7 >> 매우가능

3. 자료구조
- 5,6 의 자리수 check: int[]

해결코드

import sys
si = sys.stdin.readline

A,B = map(list,si().strip().split())
check_a = [0 for _ in range(len(A))]
check_b = [0 for _ in range(len(B))]

for i,v in enumerate(A):
    if v=='5' or v=='6':
        A[i]=0
        check_a[i]=1

for i,v in enumerate(B):
    if v=='5' or v=='6':
        B[i]=0
        check_b[i]=1

min_a = int("".join(map(str,A)))+5*int("".join(map(str,check_a)))
max_a = int("".join(map(str,A)))+6*int("".join(map(str,check_a)))

min_b = int("".join(map(str,B)))+5*int("".join(map(str,check_b)))
max_b = int("".join(map(str,B)))+6*int("".join(map(str,check_b)))

print(min_a+min_b, max_a+max_b)

'Etc > PS' 카테고리의 다른 글

BOJ_1463 1로 만들기 -Python3  (0) 2022.08.14
BOJ_2164 카드2 -Python3  (0) 2022.08.12
BOJ_5585 거스름돈 -Python3  (0) 2022.08.11
BOJ_10162 전자레인지 -Python3  (0) 2022.08.11
BOJ_1120 문자열 -Python3  (0) 2022.08.10

+ Recent posts