문제 설명
두 정수 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
2
3
4
5
6
7
8
9
10
| func solution(a int, b int) int64 {
if a > b {
a, b = b, a
}
var answer int
for i := a; i <= b; i++ {
answer += i
}
return int64(answer)
}
|
a
가 b
보다 크다면 a
와 b
의 값을 바꿈a ~ b
순회answer
의 자료형을 int64 로 변환하고 반환
테스트코드
유닛 테스트
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| const TESTCOUNT = 3
var (
a = [TESTCOUNT]int{
3,
3,
5,
}
b = [TESTCOUNT]int{
5,
3,
3,
}
result = [TESTCOUNT]int{
12,
3,
12,
}
)
func TestSolution(t *testing.T) {
for i := 0; i < TESTCOUNT; i++ {
fmt.Println("a ", a[i])
fmt.Println("b ", b[i])
fmt.Println("result ", result[i])
fmt.Println("solution result : ", solution(a[i], b[i]))
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| $ go test -v
=== RUN TestSolution
a 3
b 5
result 12
solution result : 12
a 3
b 3
result 3
solution result : 3
a 5
b 3
result 12
solution result : 12
--- PASS: TestSolution (0.00s)
PASS
ok golang-coding-test/lv1/sum_between 0.144s
|