ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

Leo๋Š” ์นดํŽซ์„ ์‚ฌ๋Ÿฌ ๊ฐ”๋‹ค๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ค‘์•™์—๋Š” ๋…ธ๋ž€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ  ํ…Œ๋‘๋ฆฌ 1์ค„์€ ๊ฐˆ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋Š” ๊ฒฉ์ž ๋ชจ์–‘ ์นดํŽซ์„ ๋ดค์Šต๋‹ˆ๋‹ค.

Leo๋Š” ์ง‘์œผ๋กœ ๋Œ์•„์™€์„œ ์•„๊นŒ ๋ณธ ์นดํŽซ์˜ ๋…ธ๋ž€์ƒ‰๊ณผ ๊ฐˆ์ƒ‰์œผ๋กœ ์ƒ‰์น ๋œ ๊ฒฉ์ž์˜ ๊ฐœ์ˆ˜๋Š” ๊ธฐ์–ตํ–ˆ์ง€๋งŒ, ์ „์ฒด ์นดํŽซ์˜ ํฌ๊ธฐ๋Š” ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

Leo๊ฐ€ ๋ณธ ์นดํŽซ์—์„œ ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown, ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์นดํŽซ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown์€ 8 ์ด์ƒ 5,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๋Š” 1 ์ด์ƒ 2,000,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ์นดํŽซ์˜ ๊ฐ€๋กœ ๊ธธ์ด๋Š” ์„ธ๋กœ ๊ธธ์ด์™€ ๊ฐ™๊ฑฐ๋‚˜, ์„ธ๋กœ ๊ธธ์ด๋ณด๋‹ค ๊น๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

brownyellowreturn

10 2 [4, 3]
8 1 [3, 3]
24 24 [8, 6]

 

๋ฌธ์ œํ’€์ด

  1. ๋…ธ๋ž€์ƒ‰๊ณผ ๊ฐˆ์ƒ‰์˜ ์ด ๊ฐฏ์ˆ˜์˜ ๋ชจ๋“  ์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.
  2. ์ฃผ์–ด์ง„ ์•ฝ์ˆ˜์˜ ์Œ์ธ width์™€ height๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์นดํŽซ ์ค‘์•™์— ๋ฐฐ์น˜๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๋น„๊ตํ•œ๋‹ค.

์ฝ”๋“œ

function solution(brown, yellow) {
  var answer = [];
  let size = brown + yellow; //์นดํŽซ์˜ ์ด ๊ฐฏ์ˆ˜

  for (let i = 1; i <= size; i++) {
    let width = i;
    let height;
    if (size % width !== 0) continue; // ์•ฝ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” ๊ทธ ๋‹ค์Œ ์ˆœํšŒ
    else height = size / width;
    if (width < height) continue; // ๊ฐ€๋กœ๋Š” ์„ธ๋กœ๋ณด๋‹ค ํ•ญ์ƒ ๊น€
    let center = Math.floor(width / 2); // ํ˜„์žฌ ์นดํŽซ์˜ ์ค‘์•™์— ์œ„์น˜๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’
    let remain = yellow - center; // ์ค‘์•™์— ์œ„์น˜๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์— ๋…ธ๋ž€ ์นดํŽซ์ด ์ ์žฌ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์‹๋ณ„
    if (remain < 0) continue; //๋…ธ๋ž€ ์นดํŽซ์„ ๊น” ๊ณต๊ฐ„์ด ์—†๋Š” ๊ฒฝ์šฐ
    if (remain > 0) { //๋…ธ๋ž€ ์นดํŽซ์ด ๋‚จ์•„ ์žˆ๋Š” ๊ฒฝ์šฐ
      let total = center * height;
      if(total === yellow) { 
        answer.push(width);
        answer.push(height);
        return answer;
      } else continue;
    }
    if (remain === 0) { //๋”ฑ ๋งž๋Š” ๊ฒฝ์šฐ
      answer.push(width);
      answer.push(height);
      return answer;
    }
  }
}

 

์˜ค๋‹ต

์ฃผ์–ด์ง„ ์˜ˆ์‹œ ์ผ€์ด์Šค๋Š” ๋ชจ๋‘ ๋‹ค ๋งž์•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๋Œ๋ ธ์„ ๋•Œ๋Š” ๋ช‡ ๊ฐœ์˜ ๊ฒฝ์šฐ๊ฐ€ ์˜ค๋‹ต์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๋‹ค.

 

์ด์— ๋ฌธ์ œ๋ฅผ ์ข€ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

์‚ฌ์‹ค ์ด ๋ฌธ์ œ์—์„œ๋Š” ๊ฐˆ์ƒ‰์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€๋Š” ํฌ๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค.

๊ฐˆ์ƒ‰์˜ ์นดํŽซ์€ ์ƒ์‹œ ๋…ธ๋ž€์ƒ‰์˜ ์นดํŽซ์„ ๋‘˜๋Ÿฌ ์‹ธ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋ž€์ƒ‰ ์นดํŽซ ๊ธฐ์ค€์œผ๋กœ ๋‘˜๋Ÿฌ ์‹ธ์ธ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ์‹์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

ํ˜„์žฌ ์˜ˆ์‹œ์—์„œ ์ฃผ์–ด์ง„ ์นดํŽซ์— ๋…ธ๋ž€ ์นดํŽซ์˜ ๊ฐ€๋กœ ๋„ˆ๋น„๋Š” 2์ด๊ณ  ์„ธ๋กœ ๋„ˆ๋น„๋Š” 1์ด๋‹ค.

์ด ๋ง์€ ์ฆ‰์Šจ, ๋…ธ๋ž€ ์นดํŽซ์„ ๋‘˜๋Ÿฌ ์‹ธ๊ณ  ์žˆ๋Š” ๊ฐˆ์ƒ‰ ์นดํŽซ ๊ฐฏ์ˆ˜๋Š” (๋…ธ๋ž€ ์นดํŽซ ๊ฐ€๋กœ ๋„ˆ๋น„ ร— 2) + (๋…ธ๋ž€ ์นดํŽซ ์„ธ๋กœ ๋„ˆ๋น„ ร— 2)๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ  ์ด ์‹์— ๋‚˜๋จธ์ง€ ๊ตฌ์„์— ์œ„์น˜ํ•œ ๊ฐˆ์ƒ‰ ์นดํŽซ ๊ฐฏ์ˆ˜์ธ 4๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ฃผ์–ด์ง„ ๊ฐˆ์ƒ‰ ์นดํŽซ์˜ ๊ฐฏ์ˆ˜์™€ ๋น„๊ตํ•œ๋‹ค๋ฉด ๋ฌธ์ œ์˜ ๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฝ”๋“œ

function solution(brown, yellow) {
    for(let i=1; i<=Math.ceil(yellow/2); i++) { // index๊ฐ€ ๋œปํ•˜๋Š” ๊ฒƒ์€ ๋…ธ๋ž€์ƒ‰ ์นดํŽซ์˜ ๋†’์ด(๋†’์ด๋Š” ๊ฐ€๋กœ๋ณด๋‹ค ์ปค์งˆ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ€ ๊ฐ™์•„์ง€๋Š” ๊ฒฝ์šฐ๊นŒ์ง€๋งŒ ์ˆœํšŒ)
        let tmp = yellow % i; 
        if(tmp === 0) { // ๋…ธ๋ž€ ์นดํŽซ์— ๋‚จ๊น€ ์—†์ด ๋“ค์–ด๋งž๋Š”์ง€ ์‹๋ณ„
            const width = yellow/i;
            if((width+i)*2+4 === brown) return [width+2, i+2] // ๋ชจ์„œ๋ฆฌ์˜ ๋‚˜๋จธ์ง€ ๊ฐ’๊นŒ์ง€ ํ•ฉ์‚ฐํ•ด์ค˜์•ผ ์ด ๋„ˆ๋น„ ๋ฐ ๋†’์ด๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ
        }
    }
}

 

๊ณ ์ฐฐ

์‚ฌ์‹ค ํ•ด๋‹น ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ํฌ์ŠคํŒ…์„ ํ• ์ง€ ๊ณ ๋ฏผ์„ ํ•˜์˜€๋‹ค.

 

์–ด๋–ค ํŠน์ •ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…์— ๋Œ€ํ•œ ์ง€์‹์ด ์„ ์ œ๋˜์–ด ์žˆ์–ด์•ผ ํ’€ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฃผ์–ด์ง„ ๋„์‹์— ๋Œ€ํ•ด์„œ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์— ๋Œ€ํ•ด์„œ ์‹œํ—˜ํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ์˜€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์ผ์ „์— ์นด์นด์˜ค ๋ฌธ์ œ ์ค‘ ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ ๋˜ํ•œ ์ด์™€ ๋น„์Šทํ•˜๊ฒŒ ๋„์‹ํ™”๋œ ๋ฌธ์ œ์˜€๊ณ  ํ—ค๋ฐ€ํ„ด ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ๋œ ์ดํ•ด์™€ ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ์š”๊ตฌํ•˜๋Š” ๋ฌธ์ œ์˜€์ง€๋งŒ ์ œ๋Œ€๋กœ ํ’€์ดํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค.

 

๋ฌธ์ œ์˜ ์ „์ฒด์ ์ธ ์Šคํƒ€์ผ์ด๋‚˜ ๋‚œ์ด๋„๋Š” ๋‹ค๋ฅด์ง€๋งŒ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€์ดํ–ˆ๋˜ ๋ฐ”์™€ ๊ฐ™์ด, ์•ž์œผ๋ก  ๋„์‹ํ™” ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ์ฃผ์–ด์ง„ ์ƒํ™ฉ์„ ๋ช…ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ณ  ๊ทœ์น™์„ ๋ฐœ๊ฒฌ ๋ฐ ์‹์œผ๋กœ ๊ฐ„๋‹จํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์ตœ๋Œ€ํ•œ ๋ฐฐ์–‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ข€ ๋” ๋…ธ๋ ฅํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๊ธฐ์— ํ•ด๋‹น ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ํฌ์ŠคํŒ… ํ•ด๋ณด์•˜๋‹ค.

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ