관리 메뉴

솜씨좋은장씨

[BaekJoon] 2864번 : 5와 6의 차이 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 2864번 : 5와 6의 차이 (Python)

솜씨좋은장씨 2021. 9. 23. 20:11
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 5와 6의 차이입니다.

 

2864번: 5와 6의 차이

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

www.acmicpc.net

👨🏻‍💻 문제 풀이

5를 6으로 볼때도 있고 6을 5로도 볼때가 있는 사람에게

두 개의 숫자를 주고 두 개의 숫자를 이 사람이 보는대로 더 했을때 나올수 있는 가장 큰 수와 작은 수를 구하는 문제입니다.

가장 큰 수가 나오려면 이 사람은 5를 모두 6으로 보아야하고

가장 작은 수가 나오려면 이 사람은 6을 모두 5로 보아야합니다.

 

이에 두 정수를 공백을 사이에둔 하나의 문자열로 입력받고 이를 split으로 나누어 줍니다.

A, B = input().split()

그럼 두개의 정수 문자가 만들어집니다.

min_num = int(A.replace('6', '5')) + int(B.replace('6', '5'))
max_num = int(A.replace('5', '6')) + int(B.replace('5', '6'))

가장 큰 수가 나오기 위해 두 숫자 속 모든 5를 replace를 통해 6으로

가장 작은 수가 나오기 위해 두 숫자 속 모든 6을 replace를 통해 5로 바꾸어준뒤

각각의 수를 int를 활용해 정수로 만들어주고 더한 뒤

f"{min_num} {max_num}"

f-string을 활용하여 원하는 출력 모양을 만들어주면 끝입니다.

 

전체 코드는 아래를 참고해주세요.

👨🏻‍💻 코드 ( Solution )

def between_5_to_6(A, B):
    min_num = int(A.replace('6', '5')) + int(B.replace('6', '5'))
    max_num = int(A.replace('5', '6')) + int(B.replace('5', '6'))
    
    return f"{min_num} {max_num}"


if __name__ == "__main__":
    num1, num2 = input().split()
    
    print(between_5_to_6(num1, num2))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments