def solution(phone_book):
phone_book.sort()
for i in range(len(phone_book)-1):
if phone_book[i+1].startswith(phone_book[i]) == True:
return False
return True
def solution(phoneBook):
phoneBook = sorted(phoneBook)
for p1, p2 in zip(phoneBook, phoneBook[1:]):
if p2.startswith(p1):
return False
return True
startswith
startwith
은 어떤 문자열의 (시작~)이 어떤 문자열로 시작하는지 알려준다.
두 번째 인자로 시작, 세 번째 인자로 끝-1 을 설정할 수도 있다.
name = 'miniddo'
name.startswith('mi') // True
name.startswith('mi', 2, 4 ) // False
name.startswith('ddo') // False
in, not in
파이썬은 in
과 not in
을 사용하여 포함 여부를 알 수 있다.
s1 = 'welcome'
print('we' in s1) // True
print('come' in s1) // True
print('come' not in s1) // False
startswith
와 in
의 차이점은 startswith
가 True가 나오기 위해서는 문자열의 시작점과 일치해야 한다는 것이다. in
은 문자열이 해당 문자열에 들어있기만 하면 True값이 나온다.
zip
zip
은 동일한 개수로 이루어진 자료형을 묶어주는 함수이다.
길이가 작은 것을 기준으로 묶는다.
list(zip([1, 2, 3], [4, 5, 6]))
// [(1, 4), (2, 5), (3, 6)]
list(zip([1, 2], [4, 5, 6]))
// [(1, 4), (2, 5)]
enumerate
enumerate
는 순서가 있는 자료형(리스트, 튜플, 문자열)을 받아 인덱스와 값으로 리턴해준다.
for index, num in ['a', b', 'c']:
print(index, num)
// 0 'a'
// 1 'b'
// 2 'c'
def solution(phone_book):
phone_book.sort()
flag = True
for i in range(len(phone_book)-1):
if phone_book[i] in phone_book[i+1]:
flag = False
break
return flag