์ผ๋ฐ ์ํ(1) 6๋จ๊ณ - 1193๋ฒ ๋ถ์์ฐพ๊ธฐ
๋ฌธ์
๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์๋ค์ด ์ ํ์๋ค.
์ด์ ๊ฐ์ด ๋์ด๋ ๋ถ์๋ค์ 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … ๊ณผ ๊ฐ์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ์ฐจ๋ก๋๋ก 1๋ฒ, 2๋ฒ, 3๋ฒ, 4๋ฒ, 5๋ฒ, … ๋ถ์๋ผ๊ณ ํ์.
X๊ฐ ์ฃผ์ด์ก์ ๋, X๋ฒ์งธ ๋ถ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ X(1 ≤ X ≤ 10,000,000)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ถ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 10
14
์์ ์ถ๋ ฅ 10
2/4
ํ์ด
→ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ๋ถ์๋ค์ด ๋์ด๋์ด ์๋ค
1) n๋ฒ์งธ ๋ถ์๊ฐ ์์นํ ์ฌ์ ๋ผ์ธ์ด ๋ช ๋ฒ์งธ ๋ผ์ธ์ ์์นํด์๋์ง์ ๊ทธ ์ฌ์ ๋ผ์ธ์์ ์ ์ผ ํฐ ์๋ฅผ ๊ตฌํ๋ค
2) gap(์ ์ผ ํฐ ์ - ์ ๋ ฅ๋ฐ์ ์ ์์ ์ฐจ)์ ๊ตฌํ๋ค
3) n๋ฒ์งธ ๋ถ์์ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ๊ตฌํ๋ค
์ฌ์ ๋ผ์ธ์ด ์ง์์ด๋ฉด ๋ถ์๋ ์ฌ์ ๋ผ์ธ - gap , ๋ถ๋ชจ๋ gap + 1
์ฌ์ ๋ผ์ธ์ด ํ์์ด๋ฉด ๋ถ์๋ gap + 1, ๋ถ์๋ ์ฌ์ ๋ผ์ธ - gap
4) n๋ฒ์งธ ๋ถ์๋ฅผ ๋ถ์ / ๋ถ๋ชจ ํ์์ผ๋ก ์ถ๋ ฅํ๋ค
# ๋ฐฑ์ค ๋จ๊ณ๋ณ๋ก ํ์ด๋ณด๊ธฐ - 8. ์ผ๋ฐ ์ํ1
# 1193๋ฒ. ๋ถ์์ฐพ๊ธฐ
n = int(input())
line = 0 # ์ฌ์ ๋ผ์ธ
max_n = 0 # n์ ๋ผ์ธ์์ ๊ฐ์ฅ ํฐ ์ซ์
# ์
๋ ฅ๋ฐ์ ์ ์๊ฐ ์์นํ ์ฌ์ ๋ผ์ธ์ด ๋ช ๋ฒ์งธ์ธ์ง, ์ฌ์ ๋ผ์ธ์์ ์ ์ผ ํฐ ์ ์์๋ด๊ธฐ
while n > max_n:
line += 1
max_n += line
gap = max_n - n
if line % 2 == 0: # ์ฌ์ ๋ผ์ธ์ด ์ง์๋ฒ ์งธ์ผ ๋
boonja = line - gap # ๋ถ์
boonmo = gap + 1 # ๋ถ๋ชจ
else: # ์ฌ์ ๋ผ์ธ์ด ํ์๋ฒ ์งธ์ผ ๋
boonja = gap + 1
boonmo = line - gap
print(str(boonja) + "/" + str(boonmo))
์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ
- ์ํ
- ๊ตฌํ