๋ฌธ์ ๋งํฌ
if(w > h){ answer = w*h-((Math.ceil(w/h)) * h) }else if(h > w){ answer = w*h-((Math.ceil(h/w)) * w) }else{ answer = w*h-w }
ํ์ง๋ง ๊ธฐ์ธ๊ธฐ์ ๋ฐ๋ผ์ 2,3,2,3,2,3 ์ด๋ฐ์์ผ๋ก ์ ๊ณผ ๊ฒน์น๋ ๋ถ๋ถ์ ์ธ์งํ์ง ๋ชปํด์ ๋ค์ ์ ๊ทผํ์๋ค.
์ฃผ์ด์ง ๊ทธ๋ฆผ์ ํตํด ํฐ ๋ถ๋ถ์ ํจํด์ ํ์ ํ๋ฉด
3 * 7 ๊ทธ๋ฆผ์ 9๊ฐ
4 * 7 ๊ทธ๋ฆผ์ 10๊ฐ
5 * 7 ๊ทธ๋ฆผ์ 11๊ฐ
6 * 7 ๊ทธ๋ฆผ์ 12๊ฐ
๋ค๋ค ๋์ด + ๋์ด - 1์ด๋ค.
์ข ๋ ๋ค๋ฅธ ์์ ๋ฅผ ์ดํด๋ณด๋ฉด3 * 6 ๊ทธ๋ฆผ์ 6๊ฐ
4 * 6 ๊ทธ๋ฆผ์ 8๊ฐ
์ด๋ค์ ๊ฐ๊ฐ ์๋์ ํจํด์ ๊ฐ๋๋ค.
๋์ด + ๋์ด - 3
๋์ด + ๋์ด - 2
๋ํ ์ด๋ค์ ์ ๊ณผ ์ ์ด ์ฐ๊ฒฐ๋ ๊ตฌ๊ฐ์ด ์กด์ฌํ๋ค. => ๋๋์ด ๋จ์ด์ง๋ ๋ถ๋ถ์ด ์์
๊ฒฐ๋ก ์ ์ผ๋ก ๋ ์์ ์ต๋ ๊ณต์ฝ์(์ ๊ณผ ์ ์ด ๋ง๋๋ ๋ธ๋ก์ ๊ฐ์)๋ฅผ ๊ตฌํ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
โป ํฐ์นธ์ ๊ฐ์ : w + h - (์ต๋ ๊ณต์ฝ์)
function solution(w, h) {
let answer = 1;
const gcd = getGCD(w, h);
answer = w * h - (w+h-gcd);
return answer
}
function getGCD(w, h) {
const mod = w % h;
return mod === 0 ? h : getGCD(h,mod);
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์์ฐ(12982) (0) | 2022.04.28 |
---|---|
[Javascript] ์คํจ์จ(42889) (0) | 2022.04.28 |
[Javascript] ์์ ๋ํ๊ธฐ (76501) (0) | 2022.04.23 |
[Javascript] ์๋ ์ซ์ ๋ํ๊ธฐ (86051) (0) | 2022.04.23 |
[Javascript] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ (64061) (0) | 2022.04.22 |