[Swift] 백준 1546번 평군
문제 출처: 백준 1546번 평균
문제
풀이
과목 수와 성적을 입력받아 각 성적을 주어진 계산식에 맞게 변환 후 평균을 구해 출력하는 문제입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// 과목 수를 저장할 변수
var N = Int(readLine()!)!
/// 성적을 입력받아 " "기준으로 나눈 후 각 요소를 Double형으로 변환
var arr = readLine()!.split(separator: " ").map { Double($0)! }
/// 고친 성적의 총 합
var num = 0.0
/// 입력받은 성적 중 최댓값을 저장할 변수
let max = arr.max()!
for i in 0..<N {
// 각 성정을 변환
arr[i] = arr[i] / max * 100
// 변환 된 성적을 합산
num += arr[i]
}
// 결과 출력
print(num / Double(N))
- 과목 수를 입력받습니다.
- 입력받은 성적을 “ “기준으로 나눠 배열로 변환 후 각 요소를 Double 형으로 변환합니다.
- 2에서 구한 값 중에서 최댓값을 저장합니다.
- 과목 수만큼 반복문을 실행합니다.
- 2에서 구한 배열의 각 요소의 값을 변환합니다.
- 변환된 값을 합산합니다.
이렇게 풀 경우 메모리: 69104 KB, 시간: 8 ms 결과가 나오게 됩니다.
댓글남기기