[TIL_Carrotww] 42 - 22/11/01

์œ ํ˜•์„ยท2022๋…„ 11์›” 2์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
51/138
post-thumbnail

๐Ÿ“Carrotww์˜ ์ฝ”๋”ฉ ๊ธฐ๋ก์žฅ

๐Ÿงฒ python Algorithm

๐Ÿ” 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

๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€