알고리즘 - 프로그래머스 두 정수 사이의 합 (Swift)
2020. 6. 30. 17:31ㆍAlgorism
반응형
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한 조건
- a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
- a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
- a와 b의 대소관계는 정해져있지 않습니다.
간단한 문제라고 생각하여 아래 처럼 진행하였지만 4번 문제 실행 시간 초과...
func solution(_ a:Int, _ b:Int) -> Int64 {=
return Int64(Array( a<b ? a...b : b...a ).reduce(0) { $0 + $1 })
// return Int64(Array( a<b ? a...b : b...a ).reduce(0, +)
}
함수 안에가 최적화가 덜 되어있나?...
func solution(_ a:Int, _ b:Int) -> Int64 {
var sum = 0
Array( a<b ? a...b : b...a ).map { sum += $0 }
return Int64(sum)
}
... 진짜 모르겠다.. 기본으로 가자.. 오잉.. 통과..!?
func solution(_ a:Int, _ b:Int) -> Int64 {
var sum = 0
for a in a<b ? a...b : b...a {
sum += a
}
return Int64(sum)
}
다른 분들이 푼 풀이를 보니.. 맨위에내용이 13일날은 통과가 되었던거 같다.
프로그래머스도 너무 믿으면 안되겠지만
그래도 내부 함수마다 성능 차이가 많이 있는 것 같아 다른 사이트에서 효율 분석으로도 풀어 봐야겠다.
반응형
'Algorism' 카테고리의 다른 글
알고리즘 - 프로그래머스 문자열 다루기 기본 (Swift) (0) | 2020.07.01 |
---|---|
알고리즘 - 프로그래머스 문자열 내 p와 y의 개수 (Swift) (0) | 2020.06.30 |
알고리즘 - 프로그래머스 체육복 - 탐욕 (Swift) (0) | 2020.06.30 |
알고리즘 - 프로그래머스 가운데 글자 가져오기 (Swift) (0) | 2020.06.29 |
알고리즘 - 프로그래머스 k번째수 (Swift) (0) | 2020.06.29 |