아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

글자 밀기

면접 대비

시간 제한1초메모리 제한128 MB

요약
각 테스트마다 단어의 글자를 오른쪽으로 n칸 회전한 결과를 정해진 문장 형식으로 출력한다.
난이도

쉬움10점 중 2점

유형
문자열, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

빌보는 대(大)고블린에게 붙잡혀 있는 난쟁이들에게 메시지를 보내려 합니다. 메시지를 전달할 방법은 있지만, 오크들이 중간에 가로챌 위험이 있습니다. 그래서 빌보는 (머리가 좋기로 유명하지 않은 오크들을 속이기에는 충분한) 아주 간단한 방식으로 메시지를 암호화하기로 합니다.

구체적으로, 메시지에 담긴 각 단어의 글자들을 오른쪽으로 일정한 수만큼 밀고, 끝에서 넘친 글자는 앞으로 돌아오게(순환) 합니다. 예를 들어 "oakenshield"를 3만큼 밀면 "eldoakenshi"가 되고, "gandalf"를 2만큼 밀면 "lfganda"가 됩니다. 각 단어는 서로 다른 수만큼 밀리며, 미는 수는 항상 그 단어의 글자 수보다 작습니다.

빌보가 메시지를 암호화하도록 돕는 프로그램을 작성하세요.

입력

첫 번째 줄에 테스트 케이스의 개수 TT (T<100T < 100)가 주어집니다. 이어지는 각 줄에는 하나의 테스트 케이스가 주어지며, 단어 ww(문자열)와 정수 nn이 공백으로 구분됩니다. 0<n<∣w∣0 < n < |w| 임이 보장됩니다.

출력

각 테스트 케이스마다 한 줄씩, 단어 ww의 모든 글자를 오른쪽으로 nn칸 밀고(끝에서 넘친 글자는 앞으로 순환) 만들어진 단어를 다음 형식으로 출력하세요.

Shifting w by n positions gives us: result

여기서 w는 원래 단어, n은 민 칸 수, result는 밀어서 얻은 단어입니다.

예제4

  1. 예제 1

    입력
    3
    hobbit 2
    unexpected 3
    journey 4
    
    예상 출력
    Shifting hobbit by 2 positions gives us: ithobb
    Shifting unexpected by 3 positions gives us: tedunexpec
    Shifting journey by 4 positions gives us: rneyjou
    
  2. 예제 2

    입력
    2
    oakenshield 3
    gandalf 2
    
    예상 출력
    Shifting oakenshield by 3 positions gives us: eldoakenshi
    Shifting gandalf by 2 positions gives us: lfganda
    
  3. 예제 3

    입력
    1
    ab 1
    
    예상 출력
    Shifting ab by 1 positions gives us: ba
    
  4. 예제 4

    입력
    4
    cat 1
    dog 2
    elephant 5
    mouse 3
    
    예상 출력
    Shifting cat by 1 positions gives us: tca
    Shifting dog by 2 positions gives us: ogd
    Shifting elephant by 5 positions gives us: phantele
    Shifting mouse by 3 positions gives us: usemo