알고리즘 & 코딩테스트/프로프래머스
[프로그래머스 코테 기초 Swift] #3-4 더 크게 합치기
U_Daeng
2024. 5. 22. 19:51
프로그래머스 코딩 기초 트레이닝의 Day3은 "연산"에 관한 문제다
🗒️ 문제
✏️ 내 풀이
func solution(_ a:Int, _ b:Int) -> Int {
let result1: String = [a, b].map({String($0)}).joined()
let result2: String = [b, a].map({String($0)}).joined()
let result3: Int = [result1, result2].map({Int($0)!}).max()!
return result3
}
a, b 순서로 map()과 joined()를 활용해서 붙이고 그 반대로도 붙인다
지금은 그 결과값들이 String 이기 때문에 map() 을 활용해 Int로 일괄 변환하고
max()로 둘 중 큰 값을 구해서 반환한다
🔍 다른 풀이
1)
func solution(_ a:Int, _ b:Int) -> Int {
return max(Int(String(a) + String(b))!, Int(String(b) + String(a))!)
}
2)
func solution(_ a:Int, _ b:Int) -> Int {
let c = Int("\(a)\(b)")!, d = Int("\(b)\(a)")!
return c > d ? c : d
}
1) max의 파라미터로 a,b를 합친 것과 b,a 순서로 합친 것을 넣어줘서 더 큰 것을 반환하도록 한다
2) 문자열을들 보간법으로 합치고 Int로 변환해준 후 삼항연산자로 비교해주는 방법도 있다