[SWEA] 1229 | [S/W 문제해결 기본] 8일차 - 암호문2

Gaanii·2024년 11월 14일

Problem Solving

목록 보기
166/210
post-thumbnail

문제링크


1229 | [S/W 문제해결 기본] 8일차 - 암호문2



풀이과정


[SWEA] 1228 | [S/W 문제해결 기본] 8일차 - 암호문1 에서 I로만 입력되던 명령이 D도 추가되었다.

I라면 이전 코드처럼 값을 추가해주면되고, D라면 인덱스 x부터 길이 y만큼 삭제해주면 된다.
이때 i값을 갱신해줘야하는데, D일땐 명령어가 D x y 순으로 세가지만 나오기 때문에 i = i + 3 해주면 된다.

코드


for tc in range(1, 11):
    len_origin = int(input())
    origin = list(map(int, input().split()))
    len_order = int(input())
    order = list(map(str, input().split()))

    i = 0
    for _ in range(len_order):
        ID, x, y = order[i], order[i + 1], order[i + 2]
        if ID == 'I':
            for j in range(int(y)):
                origin.insert(int(x)+j, order[i+3+j])
            i = i + 3 + int(y)
        else:
            del origin[int(x) : int(x) + int(y)]
            i = i + 3


    print(f'#{tc}', end = ' ')
    for i in range(10):
        print(origin[i], end = ' ')
    print()


결과


정답

0개의 댓글