문자열 회전
문자열 회전: 한 단어가 다른 문자열에 포함되어 있는 판별하는 isSubstring이라는 메서드가 있다고 하자. s1과 s2의 두 문자열이 주어졌고, s2가 s1을 회전시킨 결과인지 판별하고자 한다(가령 'waterbottle'은 'erbottlewat'을 회전시켜 얻을 수 있는 문자열이다). isSubstring 메서드를 한 번만 호출해서 판별할 수 있는 코드를 작성하라.
그냥 문자열 length 만큼 한칸씩 돌려가면서 일치하는 경우가 있는지 확인하면 되는거 아닌가 생각이 들었다.
def is_substring(a, b):
char_array = list(b)
for i in range(len(char_array)):
char = char_array.pop(0)
char_array.append(char)
if a == ''.join(char_array):
return True
return False
# 예시 입력
a = 'waterbottle'
b = 'erbottlewat'
print(is_substring(a, b))
range
class range(stop)
class range(start, stop, step=1)
Rather than being a function, range is actually an immutable sequence type, as documented in Ranges and Sequence Types — list, tuple, range.
starting from 0 by default, and increments by 1 (by default)