문제 설명 |
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요 |
제한 조건 |
|
입출력 예 |
|
arr | return |
[1,2,3,4] | 2.5 |
[5,5] | 5 |
나의 풀이
1. arr의 길이만큼 for문을 돌려서 총 합을 구한다.
2. 구한 합을 다시 arr의 길이로 나눠서 평균을 구한다.
class Solution {
fun solution(arr: IntArray): Double {
var answer:Double = 0.0
for(i in arr)
answer += i
answer /= arr.size
return answer
}
}
Kotlin1 코드 정리
1. 내장 average()함수를 사용 -> average 값이 있으면 average 리턴, 없으면 0 리턴
class Solution {
fun solution(arr: IntArray): Double {return arr.average()}
}
↓
fun solution(arr: IntArray): Double = arr.average()
class Solution {
fun solution(arr: IntArray): Double {
return (arr.fold(0){ acc,i -> acc+i }.toDouble()/arr.size) // fold(0) : 초기값 0
}
}
* fold : 초기값을 설정해주고 왼쪽부터 오른쪽까지 현재의 계산값에 각각을 적용하는 함수
Kotlin2 코드 정리
1. 내장 sum()함수를 사용 -> 입력받은 arr의 총합 구함
2. 그 값을 double로 변환한 후 arr의 크기만큼 나누어줌
class Solution {
fun solution(arr: IntArray): Double {retrun arr.sum().toDouble()/arr.size}
}
'프로그래머스 > Kotlin | Level1' 카테고리의 다른 글
[프로그래머스/Kotlin]Level1 - 문자열 다루기 기본 (0) | 2021.04.29 |
---|---|
[프로그래머스/Kotlin]Level1 - X만큼 간격이 있는 n개의 숫자 (0) | 2021.04.27 |
[프로그래머스/Kotlin]Level1 - 직사각형 별찍기 (0) | 2021.03.17 |
[프로그래머스/Kotlin]Level1 - 문자열을 정수로 바꾸기 (0) | 2021.03.17 |
[프로그래머스/Kotlin]Level1 - 짝수와 홀수 (0) | 2021.03.16 |