const scores = {
"Math" : 85,
"English" : 92,
"History" : 78,
"Science" : 95,
"Art" : 89,
};
문제
이러한 형태의 객체를 전달 받았을 때, 최고점인 과목의 이름과 최저점인 과목의 이름을 배열로 리턴하시오!
// 출력값
[ 'History', 'Science' ]
정답
function getMinMaxScoreSubject(scoreObject) {
const subjects = Object.keys(scoreObject);
let minSubject = subjects[0];
let minSubjectScore = scoreObject[minSubject];
for (let i = 1; i < subjects.length; i++) {
let curSubject = subjects[i];
let curScore = scoreObject[curSubject];
if (minSubjectScore > curScore) {
minSubject = subjects[i];
minSubjectScore = scoreObject[minSubject];
}
}
let maxSubject = subjects[0];
let maxSubjectScore = scoreObject[maxSubject];
for (let i = 1; i < subjects.length; i++) {
let curSubject = subjects[i];
let curScore = scoreObject[curSubject];
if (maxSubjectScore < curScore) {
maxSubject = subjects[i];
maxSubjectScore = scoreObject[maxSubject];
}
}
return [minSubject, maxSubject];
}
console.log(getMinMaxScoreSubject(scores));
Object.keys()를 통해서 객체의 속성들을 뽑고,
객체[객체의속성]으로 해당 객체의 값에 접근한다.
'ETC > Algorithm' 카테고리의 다른 글
[leetcode]102. Binary Tree Level Order Traversal (이진트리, BFS) (0) | 2024.11.26 |
---|---|
점근적 표기법과 빅오(Big O) 표기법 (0) | 2024.11.24 |
피보나치 수열 (0) | 2024.02.11 |
팩토리얼 알고리즘 (0) | 2024.02.11 |