본문 바로가기
알고리즘/소스코드

KOREATECH 1172: 킹콩 영준이와 종욱이의 대도시 파괴 프로젝트

by cjw.git 2020. 12. 16.

Link : judge.koreatech.ac.kr/problem.php?id=1172


Python

더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from sys import stdin
 
testcase = int(stdin.readline().strip())
 
while testcase:
    save = []
    arr = list(map(str, stdin.readline().strip()))
    before = '.'
    # 변환 점을 기억함
    for i, val in enumerate(arr):
        if before != val:
            if val != '.':
                save.append([val, i])
                before = val
            before = '.'
 
    pos = 0
    while len(save):
        stack = save.pop(0)
        if len(save) == 0:
            if stack[0== 'R':
                for i in range(stack[1], len(arr)):
                    arr[i] = 'R'
            elif stack[0== 'L':
                for i in range(pos + 1, stack[1]):
                    arr[i] = 'L'
                pos = stack[1]
            break
        else:
            if stack[0== 'R' and save[0][0== 'L':
                point = (save[0][1- stack[1- 1// 2
                pos = save[0][1]
 
                for i in range(stack[1+ 1, stack[1+ point + 1):
                    arr[i] = 'R'
 
                for i in range(save[0][1- point, save[0][1]):
                    arr[i] = 'L'
                save.pop(0)
            else:
                if stack[0== 'L':
                    for i in range(pos, stack[1]):
                        arr[i] = 'L'
                    pos = stack[1]
                elif stack[0== 'R':
                    for i in range(stack[1+ 1, save[0][1]):
                        arr[i] = 'R'
 
    print(''.join(arr))
    testcase -= 1
 
cs

FeedBack

  1.  

 

 

 

cjw.git@gmail.com

댓글