프로그래머스 전화번호 목록

꿈틀이·2023년 1월 26일
0

알고리즘 - 기초

목록 보기
14/21
def solution(phone_book):
    flag = 0
    phone_book = sorted(phone_book)
    for i in range(len(phone_book)-1):
        if(phone_book[i] == phone_book[i+1][0:len(phone_book[i])]):
            answer = False
            flag = 1
            break
    if(flag == 0):
        answer = True
    return answer

1. sorted 함수를 사용하여 문자열을 정렬하면 ? -> 숫자의 순서를 기준으로 정렬!

숫자를 문자열의 상태로 정렬을 하면 숫자 자릿수의 크기를 기준으로 정렬을 한다
예를 들어,

11 12 112 15 128 13
자료형이 문자열인 경우 정렬 : 11 112 12 128 13 15
자료형이 숫자인 경우 정렬 : 11 12 13 15 112 128

.
.
.
.
.

다른 분의 풀이를 참고하며 배운 것!

2. startswith()

비교하고 싶은 문자열.startswith(들어 있나 싶은 문자열, [begin], [end])

[]표기는 생략 가능한
존재한다면 위의 함수는 true를 반환하고 존재하지 않는다면 False 를 반환한다
문제를 풀때 굳이 반환값이 -1, True 이런 특정 값이라면 해당하는 함수가 있는지 의심해 보는 것도 좋은 생각인 것 같다

3. zip(list, list[1:])을 하면

정말 엄청난 기능이다 세상에
list 안에서 첫번째 인자는 0번째 인덱스부터 두번째 인자는 첫번째 인덱스부터 차례대로 반환한다.
for문을 사용해보면

for a,b in zip(list,list[1:])

먼저 끝나는 배열을 기준으로 for 문 또한 끝이나기애 에러가 나지 않는다!
두 개의 값을 순차적으로 뽑아내고 싶을 땐 zip과 for문 같이 쓰기 메모

profile
안녕하세용🤓

0개의 댓글