본문 바로가기

Python/code problem

[sw expert academy] 1230. [S/W 문제해결 기본] 8일차 - 암호문3

https://swexpertacademy.com/main/main.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

예제가 넘 불친절하다ㅜㅜ

'D'의 경우 x 위치 뒤부터 y개의 수를 지우라는데 x+y번째 수가 없는 경우도 있어서 조건을 추가해줬다.

사실 예제로 확인할 수 있는 부분이 아니어서 혹시 몰라 조건을 추가했는데 맞아떨어졌다.

예제가 좀만 더 친절했으면....ㅜㅜ

 

for t in range(1,11):
    N = int(input())
    arr = list(map(int,input().split()))
    dir_num = int(input())
    dir_arr = input().split()
    for j in range(0,len(dir_arr)):
        if dir_arr[j] == 'I':
            x = int(dir_arr[j+1])
            y = int(dir_arr[j+2])
            for k in range(y):
                arr.insert(x+k,dir_arr[j+3+k])
        
        if dir_arr[j] == 'D':
            x = int(dir_arr[j+1])
            y = int(dir_arr[j+2])
            if len(arr)>= (x+y):
                for k in range(y):
                    del arr[x]
            else:
                del arr[x:len(arr)]
        
        if dir_arr[j] == 'A':
            y= int(dir_arr[j+1])
            for k in range(y):
                arr.append(int(dir_arr[j+2+k]))

    print("#{}".format(t),end=" ")
    for i in range(9):
        print(arr[i],end= " ")
    print(arr[9])