๐Ÿง  codingtest/javascript 100์ œ

๋ฌธ์ œ 99. ๊ฐœ๊ตฌ๋ฆฌ๋“ค์˜ ํ–‰์ง„

awesomeyelim 2022. 5. 3. 10:52
728x90

 

 

 

  • ๊ฐœ๊ตฌ๋ฆฌ๋“ค์ด ์ง•๊ฒ€๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋ ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ์ด ๋ถ€์‹คํ•ด์„œ ๋ช‡๋ฒˆ ๊ฑด๋„ˆ์ง€ ๋ชปํ•  ๊ฒƒ ๊ฐ™๋‹ค.

๋Œ€๊ธฐ ์ค‘์ธ ๊ฐœ๊ตฌ๋ฆฌ๋“ค์˜ ํ†ต๊ณผ ์—ฌ๋ถ€๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„ ์ถœ๋ ฅํ•ด๋ณด์ž !  

 

  1. ๊ฐ ๊ฐœ๊ตฌ๋ฆฌ๊ฐ€ ์ฐฉ์ง€ ํ• ๋•Œ ๋งˆ๋‹ค ๋Œ์˜ ๋‚ด๊ตฌ๋„๋Š” 1์”ฉ ๊ฐ์†Œ
  2. ๊ฐœ๊ตฌ๋ฆฌ์˜ ์ ํ”„๋ ฅ์ด ๊ฐ์ž ๋‹ค๋ฆ„
  3. ๊ฐ ๊ฐœ๊ตฌ๋ฆฌ๋“ค์€ ์ˆœ์„œ๋Œ€๋กœ ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„˜
// ์ž…๋ ฅ
๋Œ์˜๋‚ด๊ตฌ๋„ = [1,2,1,4]
๊ฐœ๊ตฌ๋ฆฌ์˜์ ํ”„๋ ฅ = [2,1]

// ์ถœ๋ ฅ
['pass', 'pass']


// ์ž…๋ ฅ
๋Œ์˜๋‚ด๊ตฌ๋„ = [1,2,1,4,5,2]
๊ฐœ๊ตฌ๋ฆฌ์˜์ ํ”„๋ ฅ = [2,1,3,1]

// ์ถœ๋ ฅ
['pass', 'pass', 'fail', 'fail']

 

 

 

๋ฏธ๋ฆฌ ์ƒ๊ฐํ•ด ๋ด์•ผํ•  ๊ฒƒ

  • ๊ฐœ๊ตฌ๋ฆฌ๋“ค์ด ์ ํ”„ํ•˜๋ฉด์„œ ๊ฐ์†Œ๋˜๋Š” ๋‚ด๊ตฌ๋„๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž
// ์ž…๋ ฅ
๋Œ์˜๋‚ด๊ตฌ๋„ = [1,2,1,4,5,2]
๊ฐœ๊ตฌ๋ฆฌ์˜์ ํ”„๋ ฅ = [2,1,3,1]


// ์ถœ๋ฐœ [1,1,1,3,5,1] ๋„์ฐฉ 2 -> pass
// ์ถœ๋ฐœ [0,0,0,2,4,0] ๋„์ฐฉ 1 -> pass
// ์ถœ๋ฐœ [0,0,0,2,4,0] ๋„์ฐฉ 3 -> fail
// ์ถœ๋ฐœ [0,0,0,2,4,0] ๋„์ฐฉ 1 -> fail

 

 

 

๋‹ต

let stone = [1, 2, 1, 4, 5, 2];
let frog = [2, 1, 3, 1];

function sol(๋‚ด๊ตฌ๋„, ์ ํ”„๋ ฅ) {
  let answer = [];
  for (let i in ์ ํ”„๋ ฅ) {
    answer.push("pass");
  }
  for (let i in ์ ํ”„๋ ฅ) {
    let ๊ฐœ๊ตฌ๋ฆฌ์˜ํ˜„์žฌ์œ„์น˜ = 0;
    while (๊ฐœ๊ตฌ๋ฆฌ์˜ํ˜„์žฌ์œ„์น˜ < ๋‚ด๊ตฌ๋„.length - 1) {
      ๊ฐœ๊ตฌ๋ฆฌ์˜ํ˜„์žฌ์œ„์น˜ += ์ ํ”„๋ ฅ[i];
      ๋‚ด๊ตฌ๋„[๊ฐœ๊ตฌ๋ฆฌ์˜ํ˜„์žฌ์œ„์น˜ - 1] -= 1;

      if (๋‚ด๊ตฌ๋„[๊ฐœ๊ตฌ๋ฆฌ์˜ํ˜„์žฌ์œ„์น˜ - 1] < 0) {
        answer[i] = "fail";
      }
    }
    let ๋‚ด๊ตฌ๋„๊ฐ์†Œ = JSON.parse(JSON.stringify(๋‚ด๊ตฌ๋„));// ๊นŠ์€ ๋ณต์‚ฌ๋กœ ๋‚ด๊ตฌ๋„ ๊ฐ์†Œํ˜„ํ™ฉ์„ ๋ณผ์ˆ˜ ์žˆ๋‹ค.
    console.log(๋‚ด๊ตฌ๋„๊ฐ์†Œ)
  }
  return answer;
}

console.log(sol(stone, frog));