백준문제풀이 4단계 1차원 배열10 1546번 평균 (C#)
2024. 5. 15. 20:00ㆍ백준 문제풀이/4단계 1차원 배열
세준이의 점수조작을 돕는? 문제.
입력받은 숫자중 최고점을 구하고
그 값을 이용해 나머지 점수들을 나누고 100을 곱해 나온 새로운 점수의 평균을 구하면 된다.
using System;
class BackJoon
{
static void Main(string[] args)
{
string N = Console.ReadLine();
float avg = 0;
float maxV = float.MinValue;
float[] input = Array.ConvertAll
(Console.ReadLine().Split(' '), float.Parse);
for (int i = 0; i < input.Length; i++)
{
if (maxV < input[i])
maxV = input[i];
}
for (int i = 0; i < input.Length; i++)
avg += input[i] / maxV * 100;
Console.WriteLine(avg / input.Length);
}
}
처음에 들어오는 N은 솔직히 필요가없다.
어차피 입력되는 점수들의 수를 알수있기떄문에.
그냥 입력만 받아주고 버렸다.
평균을 구할 avg와 최대점수인 maxV를 선언
나누기를 해야하기 떄문에 float으로 선언해주자.
처음엔 Array.Sort를 써서 정렬을 했는데 시간이 너무 높게나와
for문을 돌려 maxV값을 찾아줬다.
다음으로 다시 for문을 돌려 avg에 점수/최대접수 * 100한 값을 누적해서 더해주자.
마지막으로 점수의 갯수만큼 나눠서 출력해주면 끝.
운이 좋았던건지 처음으로 맞춘사람 첫 페이지에 들어갔다!
랭킹이 중요한건 아니지만 신경쓰이는건 어쩔수 없는것같다.
그리고 그동안 코드길이를 조금이라도 더 줄이기 위해 공백은 다 지웠는데
블로그에 올릴때는 가독성을 위해 정리좀 해서 올려야겠다.
이것으로 4단계 1차원 배열은 끝이다.
내일 부터는 5단계 문자열로 넘어가 보자.
'백준 문제풀이 > 4단계 1차원 배열' 카테고리의 다른 글
백준문제풀이 4단계 1차원 배열9 10811번 바구니 뒤집기 (C#) (0) | 2024.05.14 |
---|---|
백준문제풀이 4단계 1차원 배열8 3052번 나머지 (C#) (0) | 2024.05.13 |
백준문제풀이 4단계 1차원 배열7 5597번 과제 안 내신 분..? (C#) (0) | 2024.05.12 |
백준문제풀이 4단계 1차원 배열6 10813번 공 바꾸기 (C#) (0) | 2024.05.11 |
백준문제풀이 4단계 1차원 배열5 10810번 공 넣기 (C#) (0) | 2024.05.10 |