프로그래머스 코딩테스트 연습
[프로그래머스 코테 C#] Lv1. 평균 구하기
노재두내
2024. 9. 6. 17:28
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
arrreturn| [1,2,3,4] | 2.5 |
| [5,5] | 5 |
using System;
public class Solution {
public double solution(int[] arr) {
double answer = 0;
int sum=0;
for(int i=0;i<arr.Length;i++)
{
sum+=arr[i];
}
answer=sum/arr.Length;
return answer;
}
}
이렇게 작성했는데 틀리길래
Sum, arr.Length , answer 가 제대로 출력되는지 출력해보았다.
using System;
public class Solution {
public double solution(int[] arr) {
double answer = 0;
int sum=0;
for(int i=0;i<arr.Length;i++)
{
sum+=arr[i];
}
Console.WriteLine(sum);
Console.WriteLine(arr.Length);
answer=sum/arr.Length;
Console.WriteLine(answer);
return answer;
}
}

이처럼 answer이 소수점이 출력이 안되어서 틀린거라는걸 알 수 있다 .
하지만 소수점 출력 어떻게 했는지 기억이 안남 ,, 찾아보자 ^^
//사용자 지정 숫자 형식
string answer1=answer.ToString("0.0");
이런걸 찾아보고 있는데 이미 answer이 2로 답이 나왔기 때문에 여기서 소수점으로 변경한다고 해도
answer1은 2.0일뿐이다.
💡그래서 생각난게 아예 sum을 double 로 선언해야겠구나
public class Solution {
public double solution(int[] arr) {
double sum=0.0;
for(int i=0;i<arr.Length;i++)
{
sum+=arr[i];
}
return sum/arr.Length;
}
}
answer에 값 저장하지 않고 바로 return 해서 가장 간략하게 코드 작성

정답 !!
다른사람 풀이
using System.Linq;
public class Solution {
public double solution(int[] arr) {
return arr.Average();
}
}
Wow Average() 메서드를 써서 한줄로 해결했다.