다음의 객체가 주어졌을 때 한국의 면적과 가장 비슷한 국가와 그 차이를 출력하세요.
function solution(country_area) {
// 한국의 면적 저장
const korea_area = country_area["korea"];
// 객체에서 한국에 대한 정보 삭제
delete country_area.korea;
// [나라, 면적]을 배열로 저장
let area_entries = Object.entries(country_area);
// 면적의 값만 배열로 저장
let areas = Object.values(country_area);
for (let i = 0; i < areas.length; i++) {
// 면적의 차이 구하기
areas[i] = Math.abs(areas[i] - korea_area);
area_entries[i][1] = Math.abs(area_entries[i][1] - korea_area);
}
// 면적의 차이가 가장 작은 면적 구하기
const similar_area = Math.min(...areas);
// 가장 면적이 비슷한 나라 구하기
const similar_country = area_entries
.filter((el) => el[1] === similar_area)
.flat();
console.log(...similar_country);
}
const country_area = {
korea: 220877,
Russia: 17098242,
China: 9596961,
France: 543965,
Japan: 377915,
England: 242900,
};
solution(country_area); // England 22023
'PS > 제코베 JS 100제' 카테고리의 다른 글
제코베 JS 100제 / 58 / 콤마 찍기 (0) | 2022.08.30 |
---|---|
제코베 JS 100제 / 57 / 1의 개수 (0) | 2022.08.30 |
제코베 JS 100제 / 55 / 하노이의 탑 (0) | 2022.08.26 |
제코베 JS 100제 / 54 / 연속되는 수 (0) | 2022.08.24 |