Search

배열6_문제14_세트학생정보

대분류
STEP06 일차배열
문제 난이도
LV03
소분류
일차배열6_문제

영상

문제

<script> /* [문제] 아래 arr배열은 3명의 학생 데이터이다. 각 학생은 3개씩 데이터로 표현한다. 맨 앞은 번호, 그 다음은 국어점수, 그 다음은 수학점수이다. 1001번, 국어 100, 수학 20 1002번, 국어 32, 수학 54 1003번 국어 34, 수학 65 [1] 전체 평균을 출력하시오. (소수점 두자리까지 출력) [2] 국어 1등 학생 정보를 출력하시오. [3] 수학 1등 학생 정보를 출력하시오. [4] 전체 1등 학생 정보를 출력하시오. [정답] 평균 = 101.67점 국어 1등 = 1001번(100점) 수학 1등 = 1003번(65점) 전교 1등 = 1001번(120점) */ let arr = [1001, 100, 20, 1002, 32, 54, 1003, 34, 65]; </script>
Java
복사

해설

<script> /* [문제] 아래 arr배열은 3명의 학생 데이터이다. 각 학생은 3개씩 데이터로 표현한다. 맨 앞은 번호, 그 다음은 국어점수, 그 다음은 수학점수이다. 1001번, 국어 100, 수학 20 1002번, 국어 32, 수학 54 1003번 국어 34, 수학 65 [1] 전체 평균을 출력하시오. (소수점 두자리까지 출력) [2] 국어 1등 학생 정보를 출력하시오. [3] 수학 1등 학생 정보를 출력하시오. [4] 전체 1등 학생 정보를 출력하시오. [정답] 평균 = 101.67점 국어 1등 = 1001번(100점) 수학 1등 = 1003번(65점) 전교 1등 = 1001번(120점) */ let arr = [1001, 100, 20, 1002, 32, 54, 1003, 34, 65]; let total = 0; let maxKorScore = 0; let maxKorIndex = 0; let maxMathScore = 0; let maxMathIndex = 0; let maxScore = 0; let maxIndex = 0; for(let i=0; i<arr.length; i++) { if(i % 3 == 0) { let sum = arr[i + 1] + arr[i + 2]; total += sum; if(maxScore < sum) { maxScore = sum; maxIndex = i; } if(maxKorScore < arr[i + 1]) { maxKorScore = arr[i + 1]; maxKorIndex = i; } if(maxMathScore < arr[i + 2]) { maxMathScore = arr[i + 2]; maxMathIndex = i; } } } let count = parseInt(arr.length / 3); let avg = (total / count).toFixed(2); document.write("평균 = " + avg + "점<br>"); document.write("국어 1등 = " + arr[maxKorIndex] + "번(" + maxKorScore + "점)<br>"); document.write("수학 1등 = " + arr[maxMathIndex] + "번(" + maxMathScore + "점)<br>"); document.write("전교 1등 = " + arr[maxIndex] + "번(" + maxScore + "점)<br>"); </script>
Java
복사