๐Ÿ”Žํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์นดํŽซ

๋ฐ•๋ฏผ์šฐยท2023๋…„ 7์›” 15์ผ
0
post-custom-banner

๋ฌธ์ œ: https://school.programmers.co.kr/learn/courses/30/lessons/42842

์นดํ…Œ๊ณ ๋ฆฌ: ์™„์ „ํƒ์ƒ‰

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๊ณ ๋“์  Kit, https://school.programmers.co.kr/learn/challenges?tab=algorithm_practice_kit


โœ๏ธ ๋‚ด ํ’€์ด

๋ฌธ์ œ์—์„œ ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown๊ณผ ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉด, ์นดํŽซ์˜ ๊ฐ€๋กœ ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

์นดํŽซ์˜ ์ด ๊ฒฉ์ž์˜ ์ˆ˜๋Š” brown + yellow ์ผ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ yellow = 8์ด๋ผ๋ฉด, yellow ๊ฒฉ์ž์˜ ์ˆ˜๊ฐ€ ๋ฐฐ์น˜๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š”

  1. ๊ฐ€๋กœ 1 x ์„ธ๋กœ 8

    โ–  โ–  โ–  โ–  โ–  โ–  โ–  โ– 

  2. ๊ฐ€๋กœ 2 x ์„ธ๋กœ 4

    โ–  โ–  โ–  โ– 

    โ–  โ–  โ–  โ– 

์ด๋ ‡๊ฒŒ 2๊ฐ€์ง€ ๊ฒฝ์šฐ์ด๊ณ , ๊ฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” 8์˜ ์•ฝ์ˆ˜๋“ค์˜ ๊ณฑ์˜ ํ˜•ํƒœ์ด๋‹ค.

๊ฐ ๊ฒฝ์šฐ์ผ ๋•Œ brown ๊ฒฉ์ž์˜ ์ˆ˜๋ฅผ ํฌํ•จํ•œ ์ด ๊ฒฉ์ž์˜ ์ˆ˜๋Š”

  1. (1+2) x (8+2) = 30

    โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก

    โ–ก โ–  โ–  โ–  โ–  โ–  โ–  โ–  โ–  โ–ก

    โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก

  2. (2+2) x (4+2) = 24 ์ผ ๊ฒƒ์ด๋‹ค.

    โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก

    โ–ก โ–  โ–  โ–  โ–  โ–ก

    โ–ก โ–  โ–  โ–  โ–  โ–ก

    โ–ก โ–ก โ–ก โ–ก โ–ก โ–ก

๋”ฐ๋ผ์„œ, brown๊ณผ yellow ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์šฐ์„  brown๊ณผ yellow๋ฅผ ํ•ฉํ•œ total์„ ๊ณ„์‚ฐํ•ด๋†“๊ณ ,

yellow๊ฐ€ ๋ฐฐ์น˜๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(yellow์˜ ์•ฝ์ˆ˜๋“ค์˜ ๊ณฑ = yellow๊ฐ€ ๋˜๋Š” ์ƒํ™ฉ)์„ ํ•˜๋‚˜์”ฉ ํ•ด๋ณด๋ฉด์„œ, total๊ณผ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์งˆ ๋•Œ์˜ ๊ฐ€๋กœ x ์„ธ๋กœ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.


๐Ÿ—’๏ธ ๋‚ด ์ฝ”๋“œ

function solution(brown, yellow) {
  const total = brown + yellow;

  for (let i = 1; i <= yellow; i++) {
    if (yellow % i === 0) {
      // i๊ฐ€ yellow์˜ ์•ฝ์ˆ˜๋ผ๋ฉด
      const j = yellow / i;
      if ((i + 2) * (j + 2) === total) {
        return [j+2, i+2];
      }
    }
  }
}
profile
๊พธ์ค€ํžˆ, ๊นŠ๊ฒŒ
post-custom-banner

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