javascript repl.it object(3) 풀이

min00young·2020년 10월 24일
0

기본코드

1. getExamResult 함수 구현

인자는 2개를 받고 (scores, requiredClasses)
아래객체를 return

{
  '생활속의회계': 2,
  '논리적글쓰기': 3,
  '독일문화의이해': 3.5,
  '기초수학': 1.5,
  '영어회화': 2.5,
  '인지발달심리학': 4.5,
  '공학수학': 0,
  '컴퓨터과학개론': 0,
}

2. scores변수의 예시

{
  '생활속의회계': 'C',
  '논리적글쓰기': 'B',
  '독일문화의이해': 'B+',
  '기초수학': 'D+',
  '영어회화': 'C+',
  '인지발달심리학': 'A+',
}

3. requiredClasses 변수

['영어회화', '기초수학', '공학수학', '컴퓨터과학개론']

4. 학점변환기준

A+ => 4.5
A => 4
B+ => 3.5
B => 3
C+ => 2.5
C => 2
D+ => 1.5
D => 1
F => 0

내용

  1. scores변수안에서 key값에 매칭되는 value가 영어학점인것을 숫자로 된 학점으로 바꿔야함
  2. return되는 변수인 result에 대해서 빈 객체를 만든다.
  3. requiredClasses 변수에 대해서 반복문을 통해서 result변수안에 value가 0으로 세팅한다.
  4. scores변수에는 과목명과 학점이 있는데, 그 학점이 숫자가 아닌것이 문제인 상황
    -> 객체를 반복문을 돌려서, 키값을 1개씩 꺼내면서 scores변수안의 성적을 꺼내서 grade라는 변수에 담는다.
  5. scores변수의 key값이 과목명이고, 꺼낸 성적은 grade에 들어있는데, 기존의 학점변환표를 객체로 만든것과 매칭을 통해서 result객체의 값을 만들어간다.
  6. 반복문에서 1회 움직일때마다, 1개과목에 대한 key와 value가 완성된다.

정답코드

const result = {}

const requiredClassses = ['영어회화', '기초수학', '공학수학', '컴퓨터과학개론']
const scores = {
'생활속의회계': 'C',
'논리적글쓰기': 'B',
'독일문화의이해': 'B+',
'기초수학': 'D+',
'영어회화': 'C+',
'인지발달심리학': 'A+',
}

let obj = {
  'A+': 4.5,
  'A': 4,
  'B+': 3.5,
  'B': 3,
  'C+': 2.5,
  'C': 2,
  'D+': 1.5,
  'D': 1,
  'F': 0
};

for(var i=0; i<requiredClassses.length; i++){
  let key = requiredClassses[i]
  result[key] = 0;
}

for (let j in scores) {
  let grade = scores[j];
  result[j] = obj[grade];
}

console.log(result)

출처

  • repl.it object(3)
profile
개발공부를 하면서 배우고 경험하고 앞으로 알아가야할것들에 대해서 정리하고 있습니다 🙂

0개의 댓글