반응형

1. 문제

    문제번호 문제 타이틀

    (https://www.acmicpc.net/problem/2864)

 

상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.

상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.

두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 5를 6으로, 6을 5로 바꿔 쓸 수 있다
  • 최대값과 최솟값을 구하라

 

반응형

 

3. 접근법

  • 최대값 구하기
    = 모든 5를 6으로 바꿔서 합계 출력
  • 최솟값 구하기
    = 모든 6을 5로 바꿔서 합계 출력

 

4. 결과 코드

import sys

a = sys.stdin.readline().strip()


# 입력받은 두 수의 최솟값, 최대값 만들기

## 모든 6을 5로 만들면 최솟값
temp = ""
for num in a:
    if num == "6":
        num = "5"
    temp += num
min_val = list(map(int, temp.split(" ")))


## 모든 5를 6으로 만들면 최대값
temp = ""
for num in a:
    if num == "5":
        num = "6"
    temp += num
max_val = list(map(int, temp.split(" ")))

# 결과 출력
print(f"{sum(min_val)} {sum(max_val)}")


## https://www.acmicpc.net/problem/2864
반응형

+ Recent posts