๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
[ํ๋ก๊ทธ๋๋จธ์ค 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
}