Skip to content

Commit b4aa163

Browse files
committed
add : 점프와 순간 이동/jujoo.py
1 parent 5775f12 commit b4aa163

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

점프와 순간 이동/jujoo.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
def sq(n : int):
2+
if n == 1:
3+
return True
4+
q, r = divmod(n, 2)
5+
if r == 0:
6+
sq(q)
7+
else:
8+
return
9+
10+
def solve(n:int, alpha : int):
11+
if n < 10 and n % 2 == 1:
12+
return n, alpha
13+
elif n >= 10 and n % 2 == 1:
14+
alpha += 1
15+
return solve(n - 1, alpha)
16+
n = n // 2
17+
return solve(n, alpha)
18+
19+
def solution(n : int):
20+
dic = {1 : 1, 3 : 2, 5 : 2, 7 : 3, 9 : 2}
21+
22+
if n <= 2 or sq(n):
23+
return 1
24+
25+
if n in dic:
26+
return dic[n]
27+
28+
if n % 2 == 0:
29+
n, alpha = solve(n, 0)
30+
answer = dic[n] + alpha
31+
else:
32+
n, alpha = solve(n - 1, 0)
33+
answer = dic[n] + alpha + 1
34+
return answer
35+
36+
# 테스트 1 〉 통과 (0.00ms, 10.3MB)
37+
# 테스트 2 〉 통과 (0.00ms, 10.3MB)
38+
# 테스트 3 〉 통과 (0.00ms, 10.2MB)
39+
# 테스트 4 〉 통과 (0.01ms, 10.2MB)
40+
# 테스트 5 〉 통과 (0.01ms, 10.3MB)
41+
# 테스트 6 〉 통과 (0.01ms, 10.3MB)
42+
# 테스트 7 〉 통과 (0.01ms, 10.3MB)
43+
# 테스트 8 〉 통과 (0.01ms, 10.3MB)
44+
# 테스트 9 〉 통과 (0.01ms, 10.2MB)
45+
# 테스트 10 〉 통과 (0.01ms, 10.2MB)
46+
# 테스트 11 〉 통과 (0.01ms, 10.1MB)
47+
# 테스트 12 〉 통과 (0.01ms, 10.3MB)
48+
# 테스트 13 〉 통과 (0.01ms, 10.3MB)
49+
# 테스트 14 〉 통과 (0.01ms, 10.1MB)
50+
# 테스트 15 〉 통과 (0.01ms, 10.3MB)
51+
# 테스트 16 〉 통과 (0.01ms, 10.2MB)
52+
# 테스트 17 〉 통과 (0.01ms, 10.2MB)
53+
# 테스트 18 〉 통과 (0.01ms, 10.3MB)

0 commit comments

Comments
 (0)