코딩/자바스크립트
[새싹 성동 2기] 자바스크립트를 이용한 간단한 코딩 실습
insu90
2024. 11. 12. 20:35
지금까지 포스팅한 내용과 검색을 기반으로 작성하겠습니다.
문제는 아래와 같습니다.
// 학생별 점수를 아래 형식에 맞춰서 콘솔에 출력
let scores = [];
/* ### 학생별 점수 데이터
0: {name: '홍길동', korean: 80, math: 90, english: 90}
1: {name: '고길동', korean: 90, math: 80, english: 80}
2: {name: '신길동', korean: 70, math: 80, english: 70}
### 출력 형식
----------- --------- --------- --------- --------- ---------
학생이름 국어 영어 수학 합계 평균
----------- --------- --------- --------- --------- ---------
홍길동 80 90 90 260 86.7
: : : : : :
*/
작성한 답안은 아래와 같습니다.
//해당 내용을 풀기 전에 먼저 구분을 짓습니다. 학생별 점수 데이터는 저대로 집어넣으면 될 것 같습니다.
let score = [
{name: '홍길동', korean: 80, math: 90, english: 90},
{name: '고길동', korean: 90, math: 80, english: 80},
{name: '신길동', korean: 70, math: 80, english: 70}
]
//이 후 출력 부분의 이름부분은 데이터에서 불가능하진 않지만, 또한 굳이 데이터를 오염시킬 필요는 없다고 생각합니다. 간단하게 출력했습니다.
console.log(`------ ---- ---- ---- ----- -----`)
console.log(`이름 국어 수학 영어 합계 평균 `)
console.log(`------ ---- ---- ---- ----- -----`)
//위치는 이후 데이터 출력상황을 보고 잡겠습니다.
//이제 foreach를 통해 반복구문을 형성합니다.
score.forEach(function(student) {
student.sum = student.korean + student.math + student.english;
student.avg = (student.sum/3).toFixed(1);
console.log(`${student.name} ${student.korean} ${student.math} ${student.english} ${student.sum} ${student.avg}`);
}
);
//여기서 평균 계산시 소수점이 많이 나오는 것을 확인했습니다. 구글 검색을 통해 소수점을 제한하는 명령어가 toFixed 임을 확인하고 적용했습니다.
------ ---- ---- ---- ----- -----
이름 국어 수학 영어 합계 평균
------ ---- ---- ---- ----- -----
홍길동 80 90 90 260 86.7
고길동 90 80 80 250 83.3
신길동 70 80 70 220 73.3
//결과값입니다.
챗지피티를 통해 확인한 값은 아래와 같습니다.
let scores = [
{ name: "홍길동", korean: 80, english: 90, math: 90 },
{ name: "고길동", korean: 90, english: 80, math: 80 },
{ name: "신길동", korean: 70, english: 80, math: 70 }
];
// 합계와 평균 계산 함수
function calculateScores(data) {
data.forEach(student => {
// 국어, 영어, 수학 점수 속성의 일관성을 맞춤
// 합계와 평균 계산
student.sum = student.korean + student.english + student.math;
student.avg = (student.sum / 3).toFixed(1);
});
}
// 표 그리기 함수
function printTable(data) {
console.log("----------- -------- -------- -------- -------- --------");
console.log(" 학생이름 국어 영어 수학 합계 평균 ");
console.log("----------- -------- -------- -------- -------- --------");
data.forEach(student => {
console.log(
`${student.name.padEnd(10)} ${String(student.korean).padEnd(7)} ${String(student.english).padEnd(7)} ${String(student.math).padEnd(7)} ${String(student.sum).padEnd(7)} ${student.avg}`
);
});
console.log("----------- -------- -------- -------- -------- --------");
}
*생성형 AI 활용한 클라우드&보안 전문가 양성캠프 과정의 교육내용 정리 자료입니다.