๋ฌธ์ ์ค๋ช
๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข
์ด๊ฐ ์์ต๋๋ค. ์ข
์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์ 1cm x 1cm ํฌ๊ธฐ์
๋๋ค. ์ด ์ข
์ด๋ฅผ ๊ฒฉ์ ์ ์ ๋ฐ๋ผ 1cm × 1cm์ ์ ์ฌ๊ฐํ์ผ๋ก ์๋ผ ์ฌ์ฉํ ์์ ์ด์๋๋ฐ, ๋๊ตฐ๊ฐ๊ฐ ์ด ์ข
์ด๋ฅผ ๋๊ฐ์ ๊ผญ์ง์ 2๊ฐ๋ฅผ ์๋ ๋ฐฉํฅ์ผ๋ก ์๋ผ ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ์ฌ ์ง์ฌ๊ฐํ ์ข
์ด๋ ํฌ๊ธฐ๊ฐ ๊ฐ์ ์ง๊ฐ์ผ๊ฐํ 2๊ฐ๋ก ๋๋์ด์ง ์ํ์
๋๋ค. ์๋ก์ด ์ข
์ด๋ฅผ ๊ตฌํ ์ ์๋ ์ํ์ด๊ธฐ ๋๋ฌธ์, ์ด ์ข
์ด์์ ์๋ ์ข
์ด์ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ 1cm × 1cm๋ก ์๋ผ ์ฌ์ฉํ ์ ์๋ ๋งํผ๋ง ์ฌ์ฉํ๊ธฐ๋ก ํ์์ต๋๋ค.
๊ฐ๋ก์ ๊ธธ์ด W์ ์ธ๋ก์ ๊ธธ์ด H๊ฐ ์ฃผ์ด์ง ๋, ์ฌ์ฉํ ์ ์๋ ์ ์ฌ๊ฐํ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ
- W, H : 1์ต ์ดํ์ ์์ฐ์
์ ์ถ๋ ฅ ์
w | h | result |
8 | 12 | 80 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
๊ฐ๋ก๊ฐ 8, ์ธ๋ก๊ฐ 12์ธ ์ง์ฌ๊ฐํ์ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์๋ฅด๋ฉด ์ด 16๊ฐ ์ ์ฌ๊ฐํ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์๋ ์ง์ฌ๊ฐํ์์๋ 96๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ง๋ค ์ ์์์ผ๋ฏ๋ก, 96 - 16 = 80 ์ ๋ฐํํฉ๋๋ค.
ํ์ด:์ฐ์ ์์ (0,0) ๋ถํฐ ๋ (w,h)๊น์ง ๋ฐ๋ณต๋๋ ๊ตฌ๊ฐ์ ๊ตฌํ๋ ค๋ฉด w,h์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํด์ผ ํ๋ค.
์ต๋๊ณต์ฝ์๋งํผ ๋ฐ๋ณต์ด ๋๋ค๋ ๋ป์ด๋ค.
๋ํ w์ h๋ฅผ ์ต๋๊ณต์ฝ์๋ก ๋๋๋ฉด x,y๊ฐ ์ด๋ค ์๋ก ๋ฐ๋ณต์ด ๋๋์ง ์ ์ ์๋ค.
์๋ฅผ ๋ค์ด 8,12๋ฉด ์ต๋๊ณต์ฝ์๊ฐ 4์ด๋ฏ๋ก 8/4 12/4๋ ๊ฐ ๊ฐ 2,3์ด๋ฏ๋ก
x๊ฐ 2 y3์ธ ์ฌ๊ฐํ์ด 4๋ฒ ๋ฐ๋ณต๋๋ค๋ ๋ป์ด๋ค.
์ด๋ ๊ฒ ์ต๋๊ณต์ฝ์๋ก ๋๋ x,y๋ก ์ด๋ฃจ์ด์ง ์ฌ๊ฐํ์ x์ถ์ x๋งํผ ์ ์ด ์ง๋๊ฐ๊ณ y์ถ์ y๋งํผ ์ ์ด ์ง๋๊ฐ๊ฒ ๋๋ค.
ํ์ง๋ง ์์ํ ๋ ํ๋์ ์ฌ๊ฐํ์ด ๊ฒน์น๋ฏ๋ก 1์ ๋นผ์ค๋ค.
๊ณ ๋ก 2+3-1 = 4๊ฐ ์ ์ด ์ง๋๊ฐ ์ฌ๊ฐํ์ ์์ด๋ค. ์ด๊ฒ์ด 4๋ฒ ๋ฐ๋ณต๋๋ฏ๋ก 4 * 4 ๋ 16๊ฐ์ด๋ค.
์ฌ๊ธฐ์ ์ด ์ฌ๊ฐํ 8 * 12 = 96์์ ์ ์ด ์ง๋๊ฐ ์ฌ๊ฐํ ์๋ฅผ ๋นผ์ค์ผ ํ๋ฏ๋ก 96-16์ 80์ด ๋๋๊ฒ์ด๋ค.
1
2
3
4
5
6
7
8
9
10
|
func solution(_ w:Int, _ h:Int) -> Int64{
var a = w
var b = h
while a%b != 0 {
let x = a%b
a = b
b = x
}
return Int64(w*h-(w+h-b))
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ ๋ฒ
a๋ฅผ b๋ก ๋๋ ๋๋จธ์ง๊ฐ 0์ด ๋ ๋๊ฐ์ง
x์ a%b๋ฅผ ์ ์ฅํด๋๊ณ
a = b๊ฐ ๋๊ณ
b = x๊ฐ ๋๋๋ก ๋ฐ๋ณตํด์ฃผ๋ฉด
a%b๊ฐ 0์ด ๋์์ ๋ ์ต๋๊ณต์ฝ์๋ b๊ฐ ๋๋ค.
์ต๋๊ณต์ฝ์๋ผ๋ ๊ฒ๋ง ์์๋ค๋ฉด ์ฝ๊ฒ ํ์์ํ ๋ฐ ๊ทธ๋ฆผ๋ ๊ทธ๋ ค๋ณด๊ณ ๊ท์น์ ์๋ ค๋ค๊ฐ ๊ฒฐ๊ตญ์ ๋๋ ์ด๋ป๊ฒ ํธ๋์ง ๋ดค๋ค.
ํ.... ๋๊น์ง ํ์ด๋ดค์ด์ผํ๋๋ฐ...
'๐ Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ์คํฌํธ๋ฆฌ Swift (0) | 2020.03.25 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ๊ธฐ๋ฅ๊ฐ๋ฐ Swift (0) | 2020.03.23 |
ํ๋ก๊ทธ๋๋จธ์ค ํ Swift (0) | 2020.03.19 |
ํ๋ก๊ทธ๋๋จธ์ค ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ Swift (0) | 2020.03.19 |
ํ๋ก๊ทธ๋๋จธ์ค ํ๋ฆฐํฐ Swift (0) | 2020.03.11 |
๋๊ธ