JSON

mamomi·2022년 10월 26일
0

practice-js

목록 보기
2/10
post-thumbnail

1. ['A', 'A', 'A', 'O', 'B', 'B', 'O', 'AB', 'AB', 'O'] 아래와 같은 JSON을 정의하고, 각 혈액형별 학생수를 아래의 json의 각 key에 대한 value에 저장하시오. (혈액형별 학생 수를 for문을 활용하여 산출해야 합니다.)

const result = {"A" : 0, "B" : 0, "AB" : 0, "O" : 0};

const blood = ['A', 'A', 'A', 'O', 'B', 'B', 'O', 'AB', 'AB', 'O'];
const result = {"A" : 0, "B" : 0, "AB" : 0, "O" : 0};
for (const k of blood) {
    if (k =='A') {
        result.A++;
    } else if (k == 'B') {
        result.B++;
    } else if (k == 'O') {
        result.O++;
    } else {
        result.AB++;
    }
}
console.log(result);

2-1. 위 데이터에서 학생별 총점과 평균을 구하시오.

const exam = {
    "철수": [89, 82, 79, 91],
    "민영": [91, 95, 94, 89],
    "남철": [65, 57, 71, 64],
    "혜진": [82, 76, 81, 83]
   };
for (const key in exam) {
    let sum = 0; 
    for (const y of exam[key]) {
        sum += y;
    }
let avg = sum / exam[key].length;
avg = avg.toFixed(2);
console.log(key + "의 총점은 " + sum + "이고 평균은 " + avg + "점 입니다.");
}

2-2. 위 문제의 점수가 순서대로 국어, 영어, 수학, 과학일 경우 수학에 대한 모든 학생의 총점과 평균을 구하시오.

const exam = {
    "철수": [89, 82, 79, 91],
    "민영": [91, 95, 94, 89],
    "남철": [65, 57, 71, 64],
    "혜진": [82, 76, 81, 83]
   };
   let sum=0;
   let student_count=0;
   for (const key in exam) {
    sum += exam[key][2];
    student_count++;
   }
   let avg = sum / student_count;
   console.log("모든 학생의 수학 총점은 %d점 이고 평균은 %d점 입니다.", sum, avg);

3-1. 1월 25일부터 2월 1일까지의 누적 확진자 수와 일 평균 확진자 수를 구하시오.

const covid19 = [
    {date: '0125', active: 426}, 
    {date: '0126', active: 343}, 
    {date: '0127', active: 547}, 
    {date: '0128', active: 490}, 
    {date: '0129', active: 460}, 
    {date: '0130', active: 443}, 
    {date: '0131', active: 338}, 
    {date: '0201', active: 299}
];

let sum = 0;
for (const j of covid19) {
    sum += j.active;
}
console.log("누적 확진자 수: %d",sum);
console.log("평균 확진자 수: %d", sum/covid19.length);

3-2. 1월 25일부터 2월 1일까지 중에서 확진자가 가장 많이 나타난 날짜는 언제인가?

const covid19 = [
    {date: '0125', active: 426}, 
    {date: '0126', active: 343}, 
    {date: '0127', active: 547}, 
    {date: '0128', active: 490}, 
    {date: '0129', active: 460}, 
    {date: '0130', active: 443}, 
    {date: '0131', active: 338}, 
    {date: '0201', active: 299}
];

let max_active = covid19[0].active;
let max_date = covid19[0].date;
for (let i=1; i<covid19.length; i++) {
    if (max_active < covid19[i].active) {
        max_active = covid19[i].active;
        max_date = covid19[i].date;
    }
}
console.log("확진자가 가장 많이 나타난 날: %s", max_date);

profile
되고 싶다. 나는. 멋진 개발자가.

0개의 댓글

관련 채용 정보