์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42842] ์นดํŽซ (Javascript)

์€์ง„ 2021. 8. 3. 12:49

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๋ฌธ์ œ๋งํฌ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42842] ์นดํŽซ (Javascript)
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค


โœ๏ธIdea Sketch

2021-07-09

1. ๋ฌธ์ œ ์ดํ•ด

  • ํ…Œ๋‘๋ฆฌ 1์ค„์€ ๊ฐˆ์ƒ‰
  • ๊ฐ€๋กœ ๊ธธ์ด >= ์„ธ๋กœ ๊ธธ์ด

2. ๋กœ์ง

  • ํ•ญ์ƒ ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ : brown/2 +2 === ๊ฐ€๋กœ๊ธธ์ด + ์„ธ๋กœ๊ธธ์ด
  • brown/2 +2๊ฐ’์„ ๊ตฌํ•œ ํ›„, ๊ฐ€๋กœ์„ธ๋กœ ์Œ (sum-i, i)
  • ๋…ธ๋ž€์ƒ‰ ์นดํŽซ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?
  • ๋…ธ๋ž€์ƒ‰ ์นดํŽซ์˜ ๊ฐ€๋กœ์„ธ๋กœ ๊ธธ์ด = (์ „์ฒด ์นดํŽซ์˜ ๊ฐ€๋กœ - 2, ์ „์ฒด ์นดํŽซ์˜ ์„ธ๋กœ - 2)
  • ๋…ธ๋ž€์ƒ‰ ์นดํŽซ์˜ ๊ฐ€๋กœ๊ธธ์ด x ์„ธ๋กœ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋ฉด ๋จ
let sum = (brown/2) + 2;

for (let i=1; i <= (sum/2); i++) {
  let row = sum-i;
  let column = i;
  if (yellow === (row-2)*(column-2)) return [row, column];
}

3. ๊ฐ€๋กœ๊ธธ์ด๊ฐ€ ์„ธ๋กœ๊ธธ์ด๋ณด๋‹ค ๋” ๊ธธ๊ธฐ ๋•Œ๋ฌธ์—, i >= 1๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์Œ

for (let i = sum-1; i >= sum/2; i--) 


โœ๏ธ์†Œ์Šค์ฝ”๋“œ

2021-07-09

function solution(brown, yellow) {
  let sum = (brown / 2) + 2;  // ๊ฐ€๋กœ, ์„ธ๋กœ์˜ ํ•ฉ

  for (let i = sum-1; i >= sum/2; i--) {
    let row = i;
    let column = sum-i;
    if (yellow === (row - 2)*(column - 2)) return [row, column];
  }
}

โœ๏ธ๋ช…๋‹ต

์ง๊ด€์ ์ธ ์ฝ”๋“œ

function solution(brown, red) {
    var answer = [];
    for (var i = 3; i <= (brown+red)/i; i++) {
        var x = Math.floor((brown+red)/i);
        if( (x-2)*(i-2)=== red) {
            break;
        }
    }

    return [x,i];  // ๊ฐ€๋กœ x, ์„ธ๋กœ i
}