๐ programmers ์ ํ๋ฒํธ ๋ชฉ๋ก hash ๋ฌธ์ level2
์ญ์ ํด์ ๋ฌธ์ ๋ผ์ ํจ์จ์ฑ ํ ์คํธ ํญ๋ชฉ์ด ์๋ค.
ํด์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ธ๋ฃจํธ ํฌ์ค๋ก ๋ด ๊ธฐ์ค ๊น๋~ ํ๊ฒ ํ์ด๋ดค๋๋ฐ ํจ์จ์ฑ ํ ์คํธ 2๊ฐ๊ฐ ์คํจํ๋ค ใ ใํด์์ธ ๊ฒ์ ์๊ณ ํ๋ค๋ณด๋ ํด์๊ฐ ์๋๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ณด๋ ค ํ๋๋ฐ ํต๊ณผ๊ฐ ์๋ผ์ ํด์ ๋ฐฉ๋ฒ์ผ๋ก ๋ค์ ๊ณ ๋ฏผํด ๋ณด์๋ค.
- ์ด๊ธฐ ์ฝ๋
def solution(phone_book): phone_book.sort(key=lambda x:len(x)) ph = len(phone_book) for i in range(ph): word_len = len(phone_book[i]) for j in range(ph): if word_len > len(phone_book[j]) or i == j: continue if phone_book[i] == phone_book[j][0:word_len]: return False return True
์๊ฐํ๋ค ๋ณด๋ ํ์์๋ ์ฝ๋๋ค์ด ์๋ ๊ฒ ๊ฐ์ ์ค์ฌ๋ณด์๋ค.
๊ทธ๋๋ ํต๊ณผํ์ง๋ ๋ชปํ์ง๋ง ์๊ฐ์ ๋ง์ด ๋นจ๋ผ์ก๋ค.
- ํด์ ์๋ ๋ ๋ฒ์งธ ์ฝ๋
def solution(phone_book): phone_book.sort(key=lambda x:len(x)) ph = len(phone_book) for i in range(ph): word_len = len(phone_book[i]) for j in range(i + 1, ph): if phone_book[i] == phone_book[j][0:word_len]: return False return True
- ์ ๋ต ํ์ด
def solution(phone_book): phone_book.sort() for i in range(len(phone_book)-1): if phone_book[i] == phone_book[i+1][:len(phone_book[i])]: return False return True
๋๋ฌด ๋ณต์กํ๊ฒ ์๊ฐํ์๋ค.