프로그래머스 (Swift)/기초
[Day5-3] 주사위 게임 2
은더기
2024. 1. 31. 08:39
문제


내 정답 코드
import Foundation
func solution(_ a:Int, _ b:Int, _ c:Int) -> Int {
if a == b && b == c {
return (a + b + c) * (double(num: a) + double(num: b) + double(num: c)) * (triple(num: a) + triple(num: b) + triple(num: c))
} else if a == b || b == c || a == c {
return (a + b + c) * (double(num: a) + double(num: b) + double(num: c))
} else {
return a + b + c
}
}
func double(num: Int) -> Int {
return num * num
}
func triple(num: Int) -> Int {
return num * num * num
}
#
1. 여러개의 조건문을 통해 계산하였는데 하면서 더 좋은 방법이 있을 것 같다고 생각했다.
다른 사람들의 풀이를 참고하였는데 Set 구조를 사용하면 중복된 요소를 제외하고 count를 알아낼 수 있었다.
Set이 무슨 친구인지는 알고 있었지만 이렇게 사용할 생각은 못했는데 좋은 방법인 것 같다.
import Foundation
func solution(_ a:Int, _ b:Int, _ c:Int) -> Int {
let count = Set([a, b, c]).count
if count == 3 {
return a + b + c
} else if count == 2 {
return (a + b + c) * (double(num: a) + double(num: b) + double(num: c))
} else {
return (a + b + c) * (double(num: a) + double(num: b) + double(num: c)) * (triple(num: a) + triple(num: b) + triple(num: c))
}
return 0
}
func double(num: Int) -> Int {
return num * num
}
func triple(num: Int) -> Int {
return num * num * num
}
배운 기술
Set
https://developer.apple.com/documentation/swift/set
Set | Apple Developer Documentation
An unordered collection of unique elements.
developer.apple.com