첫 번째 편지, 움직여! 매우 인기가 있었지만 참여가 제한되었습니다. 이 문제는 해결하기 쉬울 것이지만, 골프에는 몇 가지 트릭이 포함되기를 바랍니다.
소문자 문자열 만 제공됩니다. 알파벳 m의 위치에있는 각 문자에 대해 끝에서 m 번째 문자 가되도록 이동하십시오 . m 값이 문자열 길이보다 길면 맨 앞으로 이동하십시오. 완전히 변환 된 문자열 만 출력합니다.
예 :
"기린"
- 'g'는 알파벳에서 7 번째 문자이며, 이미 뒤에서 7 번째 문자이므로 그대로 두십시오.
- 'i'는 9 번째 글자입니다. 9가 단어의 길이보다 크기 때문에 앞쪽으로 이동하므로 문자열이됩니다.
igraffe
- 'r'은 'i'와 같이 18 번째 문자입니다.
rigaffe
- 'a'는 첫 번째 문자이며 끝까지갑니다.
rigffea
- 'f'는 6 번째 문자이며 뒤에서 6 번째 문자가됩니다.
rfigfea
- 다음 'f'도 6 번째 문자이므로 뒤에서 6 번째로갑니다.
rffigea
- 'e'는 5 번째 글자이며 뒤에서 5 번째 글자입니다.
rfefiga
"꽃"
- 'f'(6) =>
flower
- 'l'(12) =>
lfower
- 'o'(15) =>
olfwer
- 'w'(23) =>
wolfer
- 'e'(5) =>
weolfr
- 'r'(18) =>
rweolf
"파인애플"
- 'p'(16) =>
pineapple
- 'i'(9) =>
ipneapple
- 'n'(14) =>
nipeapple
- 'e'(5) =>
nipaepple
- 'a'(1) =>
nipepplea
- 'p'(16) =>
pnipeplea
- 'p'(16) =>
ppnipelea
- 'l'(12) =>
lppnipeea
- 'e'(5) =>
lppneipea
( 이미 이동하지 않은 e 를 이동했는지 확인하십시오 ! 여기는 중요하지 않지만 아래는 중요합니다.)
다음 3 가지 추가 기능으로 테스트 사례를 개선 한 @Neil에게 감사드립니다.
"피자"
- 'p'(16) =>
pizza
- 'i'(9) =>
ipzza
- 'z'(26) =>
zipza
- 'z'(26) =>
zzipa
(두 번째 z 이동!) - 'a'(1) =>
zzipa
"헛소리"
- 'a'(1) =>
bracadabraa
- 'b'(2) =>
racadabraba
- 'r'(18) =>
racadabraba
- 'a'(1) =>
rcadabrabaa
- 'c'(3) =>
radabrabcaa
- 'a'(1) =>
rdabrabcaaa
- 'd'(4) =>
rabrabcdaaa
- 'a'(1) =>
rbrabcdaaaa
- 'b'(2) =>
rrabcdaaaba
- 'r'(18) =>
rrabcdaaaba
- 'a'(1) =>
rrbcdaaabaa
"문자"
- 'c'(3) =>
haractecrs
- 'h'(8) =>
arhactecrs
- 'a'(1) =>
rhactecrsa
- 'r'(18) =>
rhactecrsa
- 'a'(1) =>
rhctecrsaa
- 'c'(3) =>
rhtecrscaa
- 't'(20) =>
trhecrscaa
- 'e'(5) =>
trhcrescaa
- 'r'(18) =>
rtrhcescaa
- 's'(19) =>
srtrhcecaa