์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/BOJ_Python

[BOJ/Step8] 1193 : ๋ถ„์ˆ˜์ฐพ๊ธฐ (Python)

NaNaRin๐Ÿ™ƒ 2021. 2. 10. 17:27

www.acmicpc.net/problem/1193

 

1193๋ฒˆ: ๋ถ„์ˆ˜์ฐพ๊ธฐ

์ฒซ์งธ ์ค„์— X(1 ≤ X ≤ 10,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net


๋ฌธ์ œ

๋ฌดํ•œํžˆ ํฐ ๋ฐฐ์—ด์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„์ˆ˜๋“ค์ด ์ ํ˜€์žˆ๋‹ค.

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

์ด์™€ ๊ฐ™์ด ๋‚˜์—ด๋œ ๋ถ„์ˆ˜๋“ค์„ 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … ๊ณผ ๊ฐ™์€ ์ง€๊ทธ์žฌ๊ทธ ์ˆœ์„œ๋กœ ์ฐจ๋ก€๋Œ€๋กœ 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ, 4๋ฒˆ, 5๋ฒˆ, … ๋ถ„์ˆ˜๋ผ๊ณ  ํ•˜์ž.

X๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, X๋ฒˆ์งธ ๋ถ„์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— X(1 ≤ X ≤ 10,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ถ„์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ

14

 

์˜ˆ์ œ ์ถœ๋ ฅ

2/4


ํ’€์ด

ํ•ด๋‹น ๋ฐฐ์—ด์€ ์ง€๊ทธ์žฌ๊ทธ ์ˆœ์„œ๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์—ฌ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ฒซ๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์— ํ•œ๊ฐœ, ๋‘๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์— ๋‘๊ฐœ, n๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์— n๊ฐœ์˜ ๋ถ„์ˆ˜๊ฐ€ ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ ์ง์ˆ˜๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์— ๋ถ„๋ชจ ๋‚ด๋ฆผ์ฐจ์ˆœ, ๋ถ„์ž ์˜ค๋ฆ„์ฐจ์ˆœ / ํ™€์ˆ˜๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์— ๋ถ„๋ชจ ์˜ค๋ฆ„์ฐจ์ˆœ, ๋ถ„์ž ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ˆซ์ž๊ฐ€ ์ •ํ•ด์ง€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

1. ๋ช‡๋ฒˆ์งธ ์ค„์ธ์ง€ ์ž…๋ ฅ๋ฐ›์€ x์™€ ๋น„๊ตํ•˜์—ฌ ์ €์žฅํ•  i์™€ num์„ 0 ์œผ๋กœ ์ดˆ๊ธฐํ™” 
2. i๋ฅผ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ x๊ฐ€ ๋ช‡๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์— ์œ„์น˜ํ•˜๋Š”์ง€ ํ™•์ธ -> while๋ฌธ์„ ํƒˆ์ถœํ•˜๋ฉด x๊ฐ€ ๋ช‡๋ฒˆ์งธ ๋Œ€๊ฐ์„  ์žˆ๋Š”์ง€ i์— ์ €์žฅ๋จ

3. i๊ฐ€ ํ™€์ˆ˜์ธ์ง€ ์ง์ˆ˜์ธ์ง€ ํ™•์ธํ•ด์„œ ๋ถ„์ž ๋ถ„๋ชจ์— ๊ฐ ๊ฐ’์„ ๋Œ€์ž…. num-x๋กœ i๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์˜ ์–ด๋Š ์œ„์น˜์— ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค

# 1193.py

x = int(input())
i, num = 0, 0
while x > num:
    i += 1
    num += i

if i % 2 == 0:
    a = i - (num - x)
    b = (num - x) + 1
else:
    a = (num - x) + 1
    b = i - (num - x)

print(f'{a}/{b}')