-
๋ฐฑ์ค 2485๋ฒ python ํ์ด๐DEBUG/๐กPYTHON 2024. 5. 23. 19:00
๋ฑ ๋ฌธ์ ๋ฅผ ๋ดค์๋ ๋ ์๊ฐ์
a, b, c, ... , z ๊น์ง์ ๋๋ฌด๊ฐ ์ด๋ฏธ ์ฌ์ด์ ธ์๋ค๊ณ ๊ฐ์ ํ์๋
๊ฐ ๋๋ฌด์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ ์ฅํด๋๊ณ , ๊ฐ๊ฒฉ๋ค์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ์ฌ ๊ทธ์ค์์๋ ์ต์๊ฐ์ ์ด์ฉํด ๊ฐ๊ฒฉ์ ์ฌ์ฉํ๋ค
๊ทธ๋ฆฌ๊ณ ์ฒ์๊ณผ ๋ ์ฌ์ด์ ์ฌ์ด์ค ๋๋ฌด์ ๊ฐ์ - ์ด๋ฏธ ์กด์ฌํ๋ ๋๋ฌด ๊ฐ์ ๋ฅผ ๊ตฌํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋ค
๋งจ ์ฒ์์ ์งฐ๋ ์ฝ๋๋ ์์ ๋งํ ๊ณผ์ ์ ์ฌ๋ฌ ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค
<์ด๊ธฐ์ฝ๋>
import sys, math n = int(input()) d = {} s = set() check = 1000000000 r = 0 for i in range(n): d[i] = int(sys.stdin.readline()) for i in range(1, n): s.add(d[i] - d[i-1]) s = list(s) for i in range(1, len(s)): g = math.gcd(s[i-1], s[i]) if check > g: check = g i = d[0] count = 1 ic = d[count] while i < d[n-1]: if ic != i: r += 1 else: count += 1 ic = d[count] i += check print(r-1)
๊ทธ๋ฐ๋ฐ ๋ต์ ๋ง์์ง๋ง ์๊พธ ์๊ฐ์ด๊ณผ ์ค๋ฅ๊ฐ ๋จ๋ ๊ฒ...์๊ฐ์ด๊ณผ์ ๊ดํด ์์นญํ๋ค๊ฐ ๋ง์ง๋ง ์นด์ดํธ๋ถ๋ถ์์ ์์ค๋ฅผ ํ ์ค์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฐ๊ฒฌํ๋ค
์ฐธ๊ณ ์ฝ๋:https://rileydev.tistory.com/45
[๋ฐฑ์ค/BOJ] 2485๋ฒ ๊ฐ๋ก์ (Python)
[๋ฐฑ์ค/BOJ] 2485๋ฒ ๊ฐ๋ก์ www.acmicpc.net/problem/2485 2485๋ฒ: ๊ฐ๋ก์ ์ฒซ์งธ ์ค์๋ ์ด๋ฏธ ์ฌ์ด์ ธ ์๋ ๊ฐ๋ก์์ ์๋ฅผ ๋ํ๋ด๋ ํ๋์ ์ ์ N์ด ์ฃผ์ด์ง๋ค(3≤N≤100,000). ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ์ค๋ง๋ค
rileydev.tistory.com
๋ค๋ฅธ ๋ถ๋ถ๋ง๊ณ ๋งจ ๋ง์ง๋ง์ ์นด์ดํธ ๋ถ๋ถ์ ์๋ง ์ฐธ๊ณ ํ์๋ค
์ด๋ฒ์๋ ์๊ฐ์ด๊ณผ ์ค๋ฅ๋ ๋์ง ์๊ณ ํ๋ ธ๋ค๊ณ ๋ด๋ค...
๋ฐ๋ก๋ฅผ ๊ฒ์ํ์์ ์ฐพ๋ค๊ฐ ์ ๋ ์นด!!
์ฌ์ด์ผ ํ ๋๋ฌด๊ฐ 0๊ฐ์ผ ๋๋ฅผ ๊ณ ๋ คํ์ง ๋ชปํ๋ ๊ฒ์ด๋ค
๊ทธ๋์ ์ถ๊ฐํ ๋ถ๋ถ์ ์งํฉ์ ๊ธธ์ด๊ฐ 1์ด๋ผ๋ฉด ๊ฐ๊ฒฉ์ ๊ธธ์ด๋ ํญ์ ๋์ผํ๋ค๋ ์๋ฏธ์ด๊ธฐ ๋๋ฌธ์
check = s[0]๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค
๊ฒฐ๊ณผ๋ ์ฑ๊ณต~~!!
<์ต์ข ์ฝ๋>
import sys, math n = int(input()) d = {} s = set() check = 1000000000 r = 0 for i in range(n): d[i] = int(sys.stdin.readline()) for i in range(1, n): s.add(d[i] - d[i-1]) s = list(s) if len(s) == 1: check = s[0] else: for i in range(1, len(s)): g = math.gcd(s[i-1], s[i]) if check > g: check = g print((d[n-1] - d[0]) // check-(n-1))
'๐DEBUG > ๐กPYTHON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 4948๋ฒ python ํ์ด (with for-else) (0) 2024.05.28 ๋ฐฑ์ค 18870๋ฒ python ํ์ด (0) 2024.05.21 ๋ฐฑ์ค 2231๋ฒ python ํ์ด (2) 2024.05.14 ๋ฐฑ์ค 2798๋ฒ python ํ์ด (0) 2024.05.09 ๋ฐฑ์ค 3009๋ฒ python ํ์ด (0) 2024.05.09