์ผ๋ฐ ์ํ(1) 6๋จ๊ณ - 1193๋ฒ ๋ถ์์ฐพ๊ธฐ
1193๋ฒ: ๋ถ์์ฐพ๊ธฐ
์ฒซ์งธ ์ค์ X(1 ≤ X ≤ 10,000,000)๊ฐ ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋ฌธ์
๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์๋ค์ด ์ ํ์๋ค.
์ด์ ๊ฐ์ด ๋์ด๋ ๋ถ์๋ค์ 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))
์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ
- ์ํ
- ๊ตฌํ
์ฐธ๊ณ ์ฌ์ดํธ
๋ฐฑ์ค 1193๋ฒ [ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] : ๋ถ์์ฐพ๊ธฐ
[Python] ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ ์จ๋ผ์ธ ์ ์ง 1193๋ฒ : ๋ถ์ ์ฐพ๊ธฐ ๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ถ์ 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … Python3 ์ฝ
ooyoung.tistory.com