문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
1차 코드
func solution(_ a:Int, _ b:Int) -> Int64 {
var res = 0
var min = 0
var max = 0
if a == b {
return Int64(a)
}
if a > b {
min = b
max = a
} else {
min = a
max = b
}
if i in min...max {
res += i
}
return Int64(res)
}
1차 결과

1차 수정
제출하자마자 보였다. if i in 은 무슨 말도 안되는 코드인것인가...
너무 쉽다고 자만하면서 풀었던 것 같다. 아무 생각도 없이 풀어내다보니 저런 말도 안되는 실수를 저질러버렸다.
부끄럽다.
2차 코드
func solution(_ a:Int, _ b:Int) -> Int64 {
var res = 0
var min = 0
var max = 0
if a == b {
return Int64(a)
}
if a > b {
min = b
max = a
} else {
min = a
max = b
}
for i in min...max {
res += i
}
return Int64(res)
}
2차 결과

보완점
일단 쓸데없는 if가 너무 많다. min과 max를 구분지을 때, 삼항연산자로 줄이면 더 예쁘지 않을까?
최종 코드
func solution(_ a:Int, _ b:Int) -> Int64 {
var res = 0
if a == b {
return Int64(a)
}
var min = a < b ? a : b
var max = a > b ? a : b
for i in a1...b1 {
res += i
}
return Int64(res)
}
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 음양 더하기 | Programmers (0) | 2024.02.27 |
---|---|
[Swift] lv.1 크기가 작은 부분문자열 | Programmers (0) | 2024.02.26 |
[Swift] lv.1 하샤드 수 | Programmers (0) | 2024.02.24 |
[Swift] lv.1 정수 내림차순으로 배치하기 | Programmers (0) | 2024.02.24 |
[Swift] lv.1 정수 제곱근 판별 | Programmers (0) | 2024.02.21 |
문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
1차 코드
func solution(_ a:Int, _ b:Int) -> Int64 {
var res = 0
var min = 0
var max = 0
if a == b {
return Int64(a)
}
if a > b {
min = b
max = a
} else {
min = a
max = b
}
if i in min...max {
res += i
}
return Int64(res)
}
1차 결과

1차 수정
제출하자마자 보였다. if i in 은 무슨 말도 안되는 코드인것인가...
너무 쉽다고 자만하면서 풀었던 것 같다. 아무 생각도 없이 풀어내다보니 저런 말도 안되는 실수를 저질러버렸다.
부끄럽다.
2차 코드
func solution(_ a:Int, _ b:Int) -> Int64 {
var res = 0
var min = 0
var max = 0
if a == b {
return Int64(a)
}
if a > b {
min = b
max = a
} else {
min = a
max = b
}
for i in min...max {
res += i
}
return Int64(res)
}
2차 결과

보완점
일단 쓸데없는 if가 너무 많다. min과 max를 구분지을 때, 삼항연산자로 줄이면 더 예쁘지 않을까?
최종 코드
func solution(_ a:Int, _ b:Int) -> Int64 {
var res = 0
if a == b {
return Int64(a)
}
var min = a < b ? a : b
var max = a > b ? a : b
for i in a1...b1 {
res += i
}
return Int64(res)
}
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 음양 더하기 | Programmers (0) | 2024.02.27 |
---|---|
[Swift] lv.1 크기가 작은 부분문자열 | Programmers (0) | 2024.02.26 |
[Swift] lv.1 하샤드 수 | Programmers (0) | 2024.02.24 |
[Swift] lv.1 정수 내림차순으로 배치하기 | Programmers (0) | 2024.02.24 |
[Swift] lv.1 정수 제곱근 판별 | Programmers (0) | 2024.02.21 |