문제

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

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

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

입력

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

출력

첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.

내가 푼 풀이

- 5 와 6은 서로 5와 6으로 변경 가능하다.

- 더했을때 최댓값은 5는 무조건 6으로 바꾸고, 최솟값은 6을 무조건 5로 바꾸면 된다.

 

 

import Foundation

let inputs = readLine()!.split(separator: " ").map{ String($0) }

var minStr1 = Array(inputs[0]).map{ String($0) }
var maxStr1 = Array(inputs[0]).map{ String($0) }
var minStr2 = Array(inputs[1]).map{ String($0) }
var maxStr2 = Array(inputs[1]).map{ String($0) }

// 최소배열은 6은 5로, 최대배열은 5는 6으로 변경
for i in 0..<minStr1.count {
    if minStr1[i] == "5" {
        maxStr1[i] = "6"
    } else if minStr1[i] == "6" {
        minStr1[i] = "5"
    }
}

for i in 0..<minStr2.count {
    if minStr2[i] == "5" {
        maxStr2[i] = "6"
    } else if minStr2[i] == "6" {
        minStr2[i] = "5"
    }
}

print("\(Int(minStr1.joined(separator: ""))! + Int(minStr2.joined(separator: ""))!) \(Int(maxStr1.joined(separator: ""))! + Int(maxStr2.joined(separator: ""))!)")

'코딩테스트 > 백준' 카테고리의 다른 글

BOJ-1080 행렬 Swift  (0) 2023.05.17
BOJ-9465 스티커 Swift  (1) 2023.05.17
BOJ-11000 강의실 배정 Swift  (1) 2023.05.17
BOJ-1744 수묶기 Swift  (0) 2023.05.16
BOJ-1049 기타줄 Swift  (0) 2023.05.16

+ Recent posts