시작하기무료로 시작하기

문자열 시프트하기

이제 주어진 문자열에 대해 지정한 만큼 위치를 shift 시켜 구성 문자들의 시퀀스를 만들어 내는 제너레이터를 작성해 볼 거예요. 예를 들어 문자열 'sushi'를 오른쪽으로 2칸 이동시키면(shift = 2), 생성되는 시퀀스는 'h', 'i', 's', 'u', 's'가 돼요. 왼쪽으로 2칸 이동시키면(shift = -2), 결과 시퀀스는 's', 'h', 'i', 's', 'u'가 됩니다.

Tip: 유효한 인덱스를 순환하려면 % 연산자를 사용하세요. 양수나 음수에 적용해도 음수가 아닌 나머지를 얻을 수 있어, 인덱스를 이동할 때 유용합니다.

예를 들어, 6개의 문자를 가진 문자열을 담고 있는 변수 string = 'python'을 생각해 봅시다:

  • 2 % 6 = 2 (따라서 string[2 % 6]t)
  • 0 % 6 = 0 (따라서 string[0 % 6]p)
  • -2 % 6 = 4 (따라서 string[-2 % 6]o)

이 연습은 강의의 일부입니다

Python으로 코딩 인터뷰 문제 연습하기

강의 보기

연습 안내

  • 제공된 len_string 변수를 사용해 문자열의 인덱스를 순회하세요.
  • 시프트를 수행했을 때 해당 인덱스에 대응하는 문자를 찾으세요.
  • 문자열 'DataCamp'를 오른쪽으로 3칸 시프트하는(즉, "ampDataC") 제너레이터를 만드세요.
  • 제너레이터를 사용해 새로운 문자열을 만들고 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

def shift_string(string, shift):
    len_string = len(string)
    # Loop over the indices of a string
    for idx in ____:
        # Find which character will correspond to the index.
        ____ ____[____]
       
# Create a generator
gen = ____

# Create a new string using the generator and print it out
string_shifted = ''.____
print(string_shifted)
코드 편집 및 실행