Skip to content

Commit f060c77

Browse files
committed
[Bronze I] Title: 평균, Time: 8 ms, Memory: 69104 KB -BaekjoonHub
1 parent 4a4e9a0 commit f060c77

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# [Bronze I] 평균 - 1546
2+
3+
[문제 링크](https://www.acmicpc.net/problem/1546)
4+
5+
### 성능 요약
6+
7+
메모리: 69104 KB, 시간: 8 ms
8+
9+
### 분류
10+
11+
사칙연산, 수학
12+
13+
### 제출 일자
14+
15+
2025년 1월 22일 23:10:10
16+
17+
### 문제 설명
18+
19+
<p>세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.</p>
20+
21+
<p>예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.</p>
22+
23+
<p>세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.</p>
24+
25+
### 입력
26+
27+
<p>첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.</p>
28+
29+
### 출력
30+
31+
<p>첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10<sup>-2</sup> 이하이면 정답이다.</p>
32+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
let n = Int(readLine()!)!
2+
let scores = readLine()!.split { $0 == " " }.map { Double(String($0))! }
3+
let max = scores.max()!
4+
let answer = scores.map { $0 / max * 100 }.reduce(0, +) / Double(scores.count)
5+
print(answer)

0 commit comments

Comments
 (0)