전화번호 목록 - https://programmers.co.kr/learn/courses/30/lessons/42577#
1) 실패
def solution(phone_book):
answer = True
for i in range(1,len(phone_book)):
if phone_book[i][0:len(phone_book[0])] == phone_book[0]:
answer = False
return answer
return answer
채점 결과
정확성: 62.5
효율성: 4.2
합계: 66.7 / 100.0
ㅠㅠ 왜 틀린지 모르겠다..... 계속 해봐야겠다... => 문제 잘못이해
2) 실패
def solution(phone_book):
answer = True
for i in range(1,len(phone_book)):
if phone_book[0] in phone_book[i]:
return False
return True
채점 결과
정확성: 50.0
효율성: 4.2
합계: 54.2 / 100.0
더 처참해졌다.. 어이없어.. => 문제 잘못이해
3) 실패
def solution(phone_book):
answer = True
for i in phone_book:
for j in phone_book:
if i in j:
if i!=j:
return False
return True
채점 결과
정확성: 66.7
효율성: 8.3
합계: 75.0 / 100.0
문제를 잘못 읽었었다!!! 무조건 첫번째 문자열만 접두어여야만 하는줄.. 점수 올랐네 ㅎ 더해봐야겠다
실패이유 => in을 쓰면 접두어가 아니라 중간에 문자열이 포함되어도 False반환!!!
....) 성공!!
def solution(phone_book):
phone_book.sort()
for i in range(len(phone_book)-1):
if phone_book[i+1][0:len(phone_book[i])] == phone_book[i]:
return False
return True
먼저 sort로 정렬해주고 그 다음 문자와 비교해준다!!
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 가운데 글자 가져오기 (0) | 2021.07.28 |
---|---|
[프로그래머스] K번째수 (0) | 2021.07.28 |
[프로그래머스]프린터 (0) | 2021.07.27 |
[프로그래머스]기능개발 (0) | 2021.07.23 |
[프로그래머스] 완주하지 못한 선수 (1) | 2021.07.17 |