2019๋ 5์ 31์ผ
์ถ์ฒ: https://programmers.co.kr/learn/courses/30/lessons/42577
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค. ์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค.
๊ตฌ์กฐ๋ : 119 ๋ฐ์ค์ : 97 674 223 ์ง์์ : 11 9552 4421 ์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- phone_book์ ๊ธธ์ด๋ 1 ์ด์ 1,000,000 ์ดํ์ ๋๋ค.
- ๊ฐ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ ๋๋ค.
def cmp(x):
return len(x)
def phone_book_list(phone_book):
phone_book.sort(key=cmp)
for i in range(0,len(phone_book)-1):
for j in range(i+1,len(phone_book)):
if phone_book[j].startswith(phone_book[i]):
return False
return True
def solution(phone_book):
phone_book.sort()
for a,b in zip(phone_book, phone_book[1:]):
if b.startswith(a):
return False
return True
- ๋ฌธ์์ด ์ ๋ ฌํ๋ฉด ASCII ์ฝ๋ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋๋ค.
- ์ ๋ ฌํ ๋ค์๋ 0~9 ์์๋ก ์ ๋ ฌ๋๊ธฐ ๋๋ฌธ์ ์ด์ค ํฌ๋ฌธ์ ์ธ ํ์๊ฐ ์๋ค.
- ์ ๋ ฌํ๊ณ ์ด์คํฌ๋ฌธ์ ์จ์ ๋นํจ์จ์ ์ธ ์ฝ๋๋ฅด ์งฐ๋ค.ใ ใ
- ๊ทธ ๋์ ์๊ณ ๋ฆฌ์ฆ์ ํ ๋
zip()
์ ํ ๋ฒ๋ ์ฌ์ฉํ์ง ์์๋ค. ์์ผ๋ก๋ ์ ํ์ฉํด๋ณด์.