๋ฐฑ์ค 1193. ๋ถ์ ์ฐพ๊ธฐ
์ค๋ ์น ์ํ ๋ฌธ์ ์ค์ bfs, dfs ๋ฌธ์ ํด๊ฒฐ์ ํ์ง ๋ชปํด์ ๋ณต์ต ํ๋ ค๋ค๊ฐ ์ํ ์น ๊ธฐ๋ ์ผ๋ก(?)๐๐๐
๋จ๊ณ๋ณ ์์ ์ ํผ๊ฑฐ ์ค์ 7๋จ๊ณ ์ผ๋ฐ์ํ์ ๋ง๋ฌด๋ฆฌํ๊ธฐ๋กํ๋ค!!!
๋๋ถ๋ถ ๋ธ๋ก ์ฆ๊ณ ๊ท์น๋ง ์ฐพ์ผ๋ฉด ํด๊ฒฐ ๊ฐ๋ฅํ ๊ฐ๋จํ ๋ฌธ์ ์ธ๋ฐ ๋ถ์์ฐพ๊ธฐ๊ฐ ๊ณจ๋จธ๋ฆฌ๊ฐ ์กฐ๊ธ ์ํ ๋ค ^________^
๋ฌธ์ ๐ค
๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์๋ค์ด ์ ํ์๋ค.
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)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ถ์๋ฅผ ์ถ๋ ฅํ๋ค.
๋ด ํ๐ฆท
# 1193. ๋ถ์ ์ฐพ๊ธฐ
N = int(input())
line = 0 # ๋๊ฐ์ ๊ฐฏ์
idx = 0 # ๋ง์ง๋ง ์ธ๋ฑ์ค (1, 3, 6, 10...)
while idx < N:
line += 1
idx += line # ๋ง์ง๋ง ์ธ๋ฑ์ค๋ ๋ผ์ธ์ ์๋ ๋ถ์์ ๊ฐฏ์ ๋งํผ ๋์ด๋๋ค
result = []
# ๋ผ์ธ ํ์์ผ ๋ผ
if line % 2:
ja = idx - N + 1 # ๋ถ์
mo = line - idx + N # ๋ถ๋ชจ
result.append(ja)
result.append('/')
result.append(mo)
else:
ja = line - idx + N
mo = idx - N + 1
result.append(ja)
result.append('/')
result.append(mo)
print(''.join(map(str, result)))
๋ญ๊ฐ ๋๋์ ์ธ ๋๋์ ์๊ฒ ๋๋ฐ ์ฐพ๊ธฐ ์ฝ์ง ์์์ง๋ง ๋ถ์๋ฅผ ํ๋ํ๋ ์ ๊ณ ๋ฏ์ด๋ณด๋ฉด ๊ท์น์ ์ฐพ์ ์ ์์๋ค!! ใ ใ ใ
N๋ง์ ๊ฐ์ง๊ณ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ์ด๋ป๊ฒ ์ ์ด์ผํ ์ง๋ฅผ ์ ์ผ ๊ณ ๋ฏผ์ ๋ง์ด ํ๋ ๋ถ๋ถ์ธ๊ฒ ๊ฐ๋ค.....
ja = ๋ถ์ / mo = ๋ถ๋ชจ ์ ๋๋ค ใ ใ ใ
์ฐธ๊ณ ํจ๋ฉด ์ข์ ๊ฐ๋ ๋ค โ๏ธ
- ๋ฆฌ์คํธ๋ฅผ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ถ๋ ฅํ๊ธฐ
result = [1, 2, 3, 4]
# ๊ณต๋ฐฑ์์ด ์ถ๋ ฅ
print(''.join(map(str, result))) # 1234
# ๊ณต๋ฐฑ์์ด ์ถ๋ ฅ
print(' '.join(map(str, result))) # 1 2 3 4
# , ์ผํ๋ก ์ฐ๊ฒฐํ์ฌ ์ถ๋ ฅ
print(', '.join(map(str, result)) # 1, 2, 3, 4
# ์ธํจํน
print(*result) # 1 2 3 4