Linked List - 암호

광어회깍뚝썰기·2021년 8월 3일
0

swea-intermediate

목록 보기
26/51
  • 매번 숫자가 하나가 추가되어 길이가 1씩 늘어나기 때문에,
    다른 문제처럼 인덱스 한계를 len(arr)-1로 잡으면 안 된다.

  • 또한 insert는 삽입이 마지막에 일어나는 함수로
    따라서 더해야할 앞뒤 값은
    arr[idx-1], arr[idx+1]이 아니라
    arr[idx-1], arr[idx]가 된다.

for tc in range(1,int(input())+1):
    N,M,K = map(int,input().split())
    arr= list(map(int, input().split()))
    
    chk=0
    for _ in range(K):
        chk+=M
        if chk>len(arr):
            chk-=len(arr)
            
        if chk==0:
            arr.insert(0, arr[N-1]+arr[1])
        elif chk==len(arr):
            arr.append(arr[-1]+arr[0])
        else:
            arr.insert(chk, arr[chk-1]+arr[chk])
    
    res=arr[-1:-10-1:-1]
    print(f'#{tc}', end=' ')
    print(*res)

0개의 댓글

관련 채용 정보