μ± λ΄μ©μ μ₯보기 ν¨μν νλ‘κ·Έλλ° κ³Όμ μ μ 리νλ©΄μ μλ°μ€ν¬λ¦½νΈ μ½λλ‘ μμ±ν΄λ³΄μλ€.
μ‘μ
: μ€ν μμ κ³Ό νμμ μμ‘΄νλ ν¨μκ³μ°
: μ
λ ₯μΌλ‘ μΆλ ₯μ κ³μ°λ°μ΄ν°
: μ΄λ²€νΈμ λν μ¬μ€λμ₯κ³ νμΈνλ μΌμ νμΈνλ μμ λ§λ€ μ¬κ³ κ° λ€λ₯΄λ―λ‘ μ‘μ μ΄λ€.
λμ₯κ³ λ₯Ό νμΈνλ μμ μ λ€μ΄μλ μ νλ€μ λ°μ΄ν°μ΄λ€.
μ₯보기 μ μ νμν μ νλ€μ΄λ©° λ°μ΄ν°μ΄λ€.
νμ¬ μ¬κ³ μ νμν μ¬κ³ λ₯Ό λ§€κ° λ³μλ‘ λ°μ μ₯μ λ΄μΌν λ¬Όν λͺ©λ‘μ λ°νν΄μ€λ€.
νμν μ¬κ³ μμ νμ¬ μλ μ¬κ³ λ₯Ό μ μΈν μ¬μΌν λ¬Όν λͺ©λ‘μ΄λ€.
ꡬμ νκΈ°λ μΌν λͺ©λ‘μ λ§€κ° λ³μλ‘ λ°μ μ μμ§λ§ ꡬμ ν λ¬Όνλ€μ νμ¬ μ¬κ³ μ λ°μν΄μΌνλ―λ‘ μ‘μ μΌλ‘ λΆλ₯νμλ€. λͺ©λ‘μ μλ κ² κ΅¬μ νκΈ° μ‘μ μ μ€ννκΈ° μν΄ μ¬κ³ νμΈν ν μ₯보기 λͺ©λ‘μ λ§λ€ μ μλ€.
μ΄μ ν΄μ μμ μΌλ‘ κ°κΈ°μ μ§μΌλ‘ μ€κΈ°λ μμΉμ λ°λΌ μ€ν κ°λ₯ μ¬λΆκ° λ¬λΌμ§λ―λ‘ μ‘μ μ΄λ€. μ΄ μ‘μ μμλ λ°μ΄ν°κ° λ μμ μ μμ§λ§, μ¬κΈ°μμλ λ°λ‘ λ€λ£¨μ§ μμΌλ €κ³ νλ€.
μ± μμλ λμ€μ§ μμ§λ§ μ₯보기 κ³Όμ μ μ½λλ‘ μμ±ν΄λ³΄μλ€. μ΄μ νκΈ° μ‘μ λ€μ μλ΅ν΄μ£Όμλ€. μμ±ν μ½λλ Githubμμλ νμΈμ΄ κ°λ₯νλ€.
// νμ¬ λ¬Όν
const items = {
milk: 1,
egg: 2,
kimchi: 6,
};
// μ₯보기 λͺ©λ‘ λ§λ€κΈ°
const createShoppingList = (currentItems, neededItems) => {
const shoppingList = {};
Object.entries(neededItems).forEach(([neededItem, neededItemCount]) => {
if (!currentItems[neededItem]) {
shoppingList[neededItem] = neededItemCount;
} else if (currentItems[neededItem] - neededItemCount < 0) {
shoppingList[neededItem] = neededItemCount - currentItems[neededItem];
}
});
return shoppingList;
};
// λμ₯κ³ νμΈνκΈ°
const checkRefrigerator = () => {
return items;
};
// λͺ©λ‘μ μλ κ² κ΅¬μ
νκΈ°
const buyItems = (shoppingList) => {
Object.entries(shoppingList).forEach(([purchaseItem, purchaseItemCount]) => {
if (!items[purchaseItem]) items[purchaseItem] = 0;
items[purchaseItem] += purchaseItemCount;
delete shoppingList[purchaseItem];
});
};
// μ₯보기
const shopping = () => {
let currentItems = checkRefrigerator();
const neededItems = {
milk: 1,
cheese: 3,
kimchi: 1,
};
console.log("------------------------------------------");
console.log("νμ¬ λμ₯κ³ μ λ€μ΄ μλ λ¬Όν >", currentItems);
console.log("νμν λ¬Όνλ€ >", neededItems);
const shoppingList = createShoppingList(currentItems, neededItems);
console.log("------------------------------------------");
console.log("μ¬μΌν λ¬Όν λͺ©λ‘ >", shoppingList);
console.log("------------------------------------------");
buyItems(shoppingList);
console.log("μ₯보기 μλ£!");
console.log("λμ₯κ³ λ¬Όν νμΈνκΈ° >", checkRefrigerator());
console.log("------------------------------------------");
};
shopping();
μμ μ½λλ₯Ό μ€νν κ²°κ³Όμ΄λ€.
μ₯보기 μ μ λμ₯κ³ μλ μ°μ 1κ°, λ¬κ± 2κ°, κΉμΉκ° 6κ° λ΄κ²¨μμλ€.
νμν λ¬Όνλ€μ μ°μ 1κ°, μΉμ¦ 3κ°, κΉμΉ 1κ°μμ§λ§, λμ₯κ³ μ κΉμΉμ μ°μ κ° μΆ©λΆν λ€μ΄μμΌλ―λ‘ κ΅¬μ ν΄μΌν λ¬Όνμ μΉμ¦ 3κ°μ΄λ€.
μ₯보기 λͺ©λ‘μ μμ±ν λ¬Όνμ ꡬμ
νκ³ λμ₯κ³ λ₯Ό λ€μ νμΈν΄λ³΄μλ€.
μ°μ 1κ°, λ¬κ± 2κ°, κΉμΉ 6κ°, μΉμ¦ 3κ°λ‘ μ΄λ²μ ꡬμ
ν λ¬ΌνκΉμ§ μ λ€μ΄κ°μλ κ²μ νμΈν μ μλ€.
μ₯보기 κ³Όμ μ μ€μ μ½λλ‘ μμ±ν΄λ³΄λ©΄μ μ‘μ
κ³Ό κ³μ°μ λΆλ¦¬νλ κ²μ΄ μ½μ§ μμλ€.
λ무 λ§μ κ³μ°μ μ€νλ € μ½λ μ½κΈ°κ° νλ€μ΄μ‘μκ³ ,
μ‘μ
λ§ μμ΄λ λμ€μ μ μ§λ³΄μκ° νλ€λ€κ³ νλ μ μ ν¨μ μ°Ύλκ² μ΄λ €μ λ€.