Post

[Golang] 프로그래머스 Lv.1 평균 구하기

평균 구하기 문제에 대해 풀이하고 테스트 코드를 작성 해보겠습니다.

문제 설명

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

제한사항

  • arr은 길이 1 이상, 100 이하인 배열입니다.
  • arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

입출력 예

arrreturn
[1,2,3,4]2.5
[5,5]5

풀이

1
2
3
4
5
6
7
func solution(arr []int) float64 {
	var total int
	for _, v := range arr {
		total += v
	}
	return float64(total) / float64(len(arr))
}

테스트코드

유닛 테스트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const TESTCOUNT = 4

var (
	x      = [TESTCOUNT]int{10, 12, 11, 13}
	result = [TESTCOUNT]bool{true, true, false, false}
)

func TestSolution(t *testing.T) {
	for i := 0; i < TESTCOUNT; i++ {
		fmt.Printf("x : %d\n", x[i])
		fmt.Printf("result : %t\n", result[i])
		fmt.Printf("solution result : %t\n", solution(x[i]))
	}
}

func TestSolution2(t *testing.T) {
	for i := 0; i < TESTCOUNT; i++ {
		fmt.Printf("x : %d\n", x[i])
		fmt.Printf("result : %t\n", result[i])
		fmt.Printf("solution result : %t\n", solution2(x[i]))
	}
}
1
2
3
4
5
6
7
8
9
10
11
$ go test -v
=== RUN   TestSolution
arr : [1 2 3 4]
result : 2.5
solution result : 2.5
arr : [5 5]
result : 5
solution result : 5
--- PASS: TestSolution (0.00s)
PASS
ok      golang-coding-test/Lv1/average_calculation      0.187s

Github 바로가기

This post is licensed under CC BY 4.0 by the author.