๐ ๋ฌธ์
๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์๋ค์ด ์ ํ์๋ค.
์ด์ ๊ฐ์ด ๋์ด๋ ๋ถ์๋ค์ด 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … ๊ณผ ๊ฐ์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ์ฐจ๋ก๋๋ก
1๋ฒ, 2๋ฒ, 3๋ฒ, 4๋ฒ, 5๋ฒ, ... ๋ถ์๋ผ๊ณ ํ์.
X๊ฐ ์ฃผ์ด์ก์ ๋, X๋ฒ์งธ ๋ถ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐ ์ถ์ ์๋
๋ถ์๊ฐ ๋์ด๋ ๊ท์น์ ์ฐพ์ ์ ์๋์ง
๐งพ ์ฝ๋
num = int(input()) # ๋ช ๋ฒ์งธ ๋ถ์๋ฅผ ๊ตฌํ ๊ฒ์ธ์ง ์
๋ ฅ
line = 0
max_num = 0
while num > max_num :
line += 1
max_num += line
gap = max_num - num
if line % 2 == 0 : # line์ด ์ง์์ผ ๊ฒฝ์ฐ
top = line - gap
under = gap + 1
else : # line์ด ํ์์ผ ๊ฒฝ์ฐ
top = gap + 1
under = line - gap
print(top, '/', under)
๐ป ํ์ด์ค๋ช
1. input()๊ณผ int()์ ์ด์ฉํด์ ๋ช ๋ฒ์งธ ๋ถ์๋ฅผ ๊ตฌํ ๊ฒ์ธ์ง ์ ๋ ฅ๋ฐ์ต๋๋ค.
2. while๋ฌธ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ๋ฐ์ ์๊ฐ max_num๋ณด๋ค ํด ๋๊น์ง ๋ฐ๋ณตํ๋ฉฐ ์ ๋ ฅ๋ฐ์ ์๊ฐ ๋ช ๋ฒ์งธ ๋ผ์ธ์ ์๋์ง์ ๋ผ์ธ์ ์ต๋๊ฐ์ ๋ฌด์์ธ์ง๋ฅผ ๊ตฌํฉ๋๋ค.
3. ๋์ด๋ ๋ถ์๋ค์ด [1/1], [1/2 -> 2/1 ], [3/1 -> 2/2 -> 1/3] .. ์ผ๋ก ์ง์์ผ ๊ฒฝ์ฐ, ๋ถ์๊ฐ ์ค๋ฆ์ฐจ์์ด๊ณ ๋ถ๋ชจ๋ ๋ด๋ฆผ์ฐจ์์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ์์ผ ๊ฒฝ์ฐ, ๋ถ์๊ฐ ๋ด๋ฆผ์ฐจ์์ด๊ณ ๋ถ๋ชจ๋ ์ค๋ฆ์ฐจ์์ ๋๋ค.
์ด๋ฅผ ์ฌ์ฉํด if๋ฌธ์ผ๋ก ๋ง์ฝ line์ด ์ง์์ผ ๊ฒฝ์ฐ ๋ถ์๋ ํ๋์ฉ ์ฆ๊ฐํ๊ณ ๋ถ๋ชจ๋ ํ๋์ฉ ๊ฐ์ํ๊ฒ, ํ์์ผ ๊ฒฝ์ฐ ๋ถ์๋ ํ๋์ฉ ๊ฐ์ํ๊ณ ๋ถ๋ชจ๋ ํ๋์ฉ ์ฆ๊ฐํ๋๋ก ๊ตฌํํฉ๋๋ค.
๐ ํ์ต๋ฐฉ๋ฒ
์ด๋ค ๊ท์น์ด ์๋์ง ํ์ ํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ค.
'์ฝ๋ฉ ํ ์คํธ > Baejoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2292๋ฒ - ๋ฒ์ง (0) | 2021.06.09 |
---|---|
[๋ฐฑ์ค] 1712๋ฒ - ์์ต๋ถ๊ธฐ์ (0) | 2021.06.08 |
[๋ฐฑ์ค] 1316๋ฒ - ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2021.05.20 |
[๋ฐฑ์ค] 2941๋ฒ - ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.05.20 |
[๋ฐฑ์ค] 5622๋ฒ - ๋ค์ด์ผ (0) | 2021.05.20 |