Skip to content

Commit 385362d

Browse files
committed
맞왜틀;
1 parent ec538c1 commit 385362d

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

  • [211201] 빛의 경로 사이클
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
from collections import defaultdict
2+
3+
def rotate(v, s):
4+
if s=='R':
5+
if v[0]==0:
6+
return [v[1],v[0]]
7+
else:
8+
return [v[1],-v[0]]
9+
elif s=='L':
10+
if v[0]==0:
11+
return [-v[1],v[0]]
12+
else:
13+
return [v[1],v[0]]
14+
return v
15+
16+
def cut(p, length):
17+
if p==-1:
18+
p=length-1
19+
elif p==length:
20+
p=0
21+
return p
22+
23+
def search(g, p, v, mem):
24+
cnt = 0
25+
while v not in mem[str(p)]:
26+
mem[str(p)].append(v)
27+
cnt+=1
28+
p[0] = cut(p[0]+v[0],len(g))
29+
p[1] = cut(p[1]+v[1],len(g[0]))
30+
new_v = g[p[0]][p[1]]
31+
v = rotate(v, new_v)
32+
return cnt
33+
34+
def solution(grid):
35+
answer = []
36+
mem = defaultdict(list)
37+
move = [(0,1), (0,-1), (1,0), (-1,0)]
38+
39+
for y in range(len(grid)):
40+
for x in range(len(grid[0])):
41+
for my,mx in move:
42+
cnt = search(grid,[y,x],[my,mx],mem)
43+
if cnt:
44+
answer.append(cnt)
45+
return answer

0 commit comments

Comments
 (0)