[๐Ÿ€์ฝ”ํ…Œ] ๋ฌธ์ œ2 - ๊ฐœ๋…์ •๋ฆฌ

์งฑํšจยท2024๋…„ 3์›” 19์ผ
0

์ฝ”๋”ฉํ…Œ์ŠคํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
8/8

โœ๏ธ๋ฌธ์ œ2 - JAVA๋…๊ณผ ํ•จ๊ป˜!


์ž…๋ ฅ
๋Œ์˜๋‚ด๊ตฌ๋„ = [1, 2, 1, 4]
๋… = [{
    "์ด๋ฆ„" : "๋ฃจ๋น„๋…",
    "๋‚˜์ด" : "95๋…„์ƒ",
    "์ ํ”„๋ ฅ" : "3",
    "๋ชธ๋ฌด๊ฒŒ" : "4",
    },{
    "์ด๋ฆ„" : "ํ”ผ์น˜๋…",
    "๋‚˜์ด" : "95๋…„์ƒ",
    "์ ํ”„๋ ฅ" : "3",
    "๋ชธ๋ฌด๊ฒŒ" : "3",
    },{
    "์ด๋ฆ„" : "์”จ-๋…",
    "๋‚˜์ด" : "72๋…„์ƒ",
    "์ ํ”„๋ ฅ" : "2",
    "๋ชธ๋ฌด๊ฒŒ" : "1",
    },{
    "์ด๋ฆ„" : "์ฝ”๋ณผ๋…",
    "๋‚˜์ด" : "59๋…„์ƒ",
    "์ ํ”„๋ ฅ" : "1",
    "๋ชธ๋ฌด๊ฒŒ" : "1",
    },
]

์ถœ๋ ฅ
์ƒ์กด์ž : ['์”จ-๋…']

[๋‹ต์•ˆ]

let ๋‚ด๊ตฌ๋„ = [1, 2, 1, 4];
let dogs = [
  {
    ์ด๋ฆ„: "๋ฃจ๋น„๋…",
    ๋‚˜์ด: "95๋…„์ƒ",
    ์ ํ”„๋ ฅ: "3",
    ๋ชธ๋ฌด๊ฒŒ: "4",
  },
  {
    ์ด๋ฆ„: "ํ”ผ์น˜๋…",
    ๋‚˜์ด: "95๋…„์ƒ",
    ์ ํ”„๋ ฅ: "3",
    ๋ชธ๋ฌด๊ฒŒ: "3",
  },
  {
    ์ด๋ฆ„: "์”จ-๋…",
    ๋‚˜์ด: "72๋…„์ƒ",
    ์ ํ”„๋ ฅ: "2",
    ๋ชธ๋ฌด๊ฒŒ: "1",
  },
  {
    ์ด๋ฆ„: "์ฝ”๋ณผ๋…",
    ๋‚˜์ด: "59๋…„์ƒ",
    ์ ํ”„๋ ฅ: "1",
    ๋ชธ๋ฌด๊ฒŒ: "1",
  },
];

function ์ง•๊ฒ€๋‹ค๋ฆฌ๋ฅผ๊ฑด๋„ˆ๋ผ(๋‚ด๊ตฌ๋„, ๋…) {
  //๋‹ต์•ˆ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” answer
  let answer = [];
  // ๋… ํ•œ๋งˆ๋ฆฌ์”ฉ ๊ณ„์‚ฐํ•˜๊ธฐ
  for (let ๊ฐœ๋ณ„๋… of ๋…) {
    // ๋… ์œ„์น˜๋ฅผ ์•Œ์•„์•ผํ•œ๋‹ค. 0๋ถ€ํ„ฐ ์‹œ์ž‘
    let ๋…์˜์œ„์น˜ = 0;
    //์‹คํŒจ์•„๋‹ˆ๋ฉด answer์— ๋… ์ด๋ฆ„ ์ถ”๊ฐ€
    let ์‹คํŒจ = false;
    
    // ๋‚ด๊ตฌ๋„ ๊ธธ์ด๊ฐ€ ๋Œ๋‹ค๋ฆฌ ๊ฐฏ์ˆ˜ ๋Œ๋‹ค๋ฆฌ ๊ฐฏ์ˆ˜๋งŒํผ ๋Œ๊ฒŒ ๋งŒ๋“ค๊ธฐ
    // ๋…์˜ ์œ„์น˜๊ฐ€ ๋‚ด๊ตฌ๋„๋ณด๋‹ค ํฌ๋ฉด ๋ฉˆ์ถ”๊ฒŒ
    while (๋…์˜์œ„์น˜ < ๋‚ด๊ตฌ๋„.length) {
      //๋…์˜ ์œ„์น˜ ์ ํ”„๋ ฅ๋งŒํผ ๋”ํ•˜๊ธฐ
      ๋…์˜์œ„์น˜ += parseInt(๊ฐœ๋ณ„๋…["์ ํ”„๋ ฅ"], 10);
      //๋‚ด๊ตฌ๋„์— ๋…์˜ ๋ชธ๋ฌด๊ฒŒ๋งŒํผ ๋บด๊ธฐ- [๋…์˜์œ„์น˜ - 1]ํ•œ ์ด์œ ๋Š” 2์นธ ๊ฐ”์–ด๋„ ๋‚ด๊ตฌ๋„[1]์ด๊ธฐ ๋•Œ๋ฌธ
      ๋‚ด๊ตฌ๋„[๋…์˜์œ„์น˜ - 1] -= parseInt(๊ฐœ๋ณ„๋…["๋ชธ๋ฌด๊ฒŒ"], 10);
      //๋งŒ์•ฝ ์ค‘๊ฐ„ ๋Œ๋‹ค๋ฆฌ ๋‚ด๊ตฌ๋„๊ฐ€ 0๋ณด๋‹ค ์ž‘์œผ๋ฉด ์‹คํŒจ ํ•จ์ˆ˜ ๋ฉˆ์ถ”๊ธฐ
      if (๋‚ด๊ตฌ๋„[๋…์˜์œ„์น˜ - 1] < 0) {
        ์‹คํŒจ = true;
        break;
      }
    }
    //์‹คํŒจ๊ฐ€ ์•„๋‹ˆ๋ฉด answer์— ๋… ์ด๋ฆ„ ๋„ฃ๊ธฐ
    if (!์‹คํŒจ) {
      answer.push(๊ฐœ๋ณ„๋…["์ด๋ฆ„"]);
    }
  }
  //answer ์ถœ๋ ฅ
  return answer;
}

์ง•๊ฒ€๋‹ค๋ฆฌ๋ฅผ๊ฑด๋„ˆ๋ผ(๋‚ด๊ตฌ๋„, dogs);

๊ฐ•์˜
๋ˆˆ๋– ๋ณด๋‹ˆ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ „๋‚  - ์ œ์ฝ”๋ฒ 

profile
โœจ๐ŸŒํ™•์žฅํ•ด ๋‚˜๊ฐ€๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹คโœ๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€