Skip to content

Commit f9835af

Browse files
committed
표 편집
1 parent 3aa9df9 commit f9835af

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

JongHo/Programmers/81303.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from collections import defaultdict
2+
3+
def solution(n, k, cmd):
4+
answer = ['O'] * n
5+
l_list = defaultdict(list)
6+
7+
for i in range(1, n + 1):
8+
l_list[i].append(i - 1)
9+
l_list[i].append(i + 1)
10+
11+
deleted = []
12+
k += 1
13+
14+
for com in cmd:
15+
c = com.split()
16+
17+
if c[0] == "D":
18+
for _ in range(int(c[1])):
19+
k = l_list[k][1]
20+
elif c[0] == "U":
21+
for _ in range(int(c[1])):
22+
k = l_list[k][0]
23+
elif c[0] == "C":
24+
prev, next = l_list[k]
25+
deleted.append([prev, next, k])
26+
answer[k - 1] = "X"
27+
28+
if next == n + 1:
29+
k = l_list[k][0]
30+
else:
31+
k = l_list[k][1]
32+
33+
if prev == 0:
34+
l_list[next][0] = prev
35+
elif next == n + 1:
36+
l_list[prev][1] = next
37+
else:
38+
l_list[prev][1] = next
39+
l_list[next][0] = prev
40+
else:
41+
prev, next, now = deleted.pop()
42+
answer[now - 1] = "O"
43+
44+
if prev == 0:
45+
l_list[next][0] = now
46+
elif next == n + 1:
47+
l_list[prev][1] = now
48+
else:
49+
l_list[prev][1] = now
50+
l_list[next][0] = now
51+
52+
return "".join(answer)

0 commit comments

Comments
 (0)