λ¬Έμ λ§ν¬
https://programmers.co.kr/learn/courses/30/lessons/42577
λμνμ΄
- μ νλ²νΈ λͺ©λ‘μ μλ μ νλ²νΈλ€μ νλμ© μΆμΆ
- μΆμΆλ μ νλ²νΈ λ΄μμ νκΈμμ© λ½μμ nμ μ μ₯
- nμ΄ μΆμΆλμ νλ²νΈμ κ°μ§ μμ§λ§, μ νλ²νΈλΆμ μ‘΄μ¬νλμ§ νμΈ
- (μΆκ°) dic ꡬμ±
μ΄λ°μλ μ΄λ κ²λ§ νμμλ€. κ·Όλ° ν¨μ¨μ± ν μ€νΈμμ μκ°μ΄κ³Όκ° λ¨λ©΄μ μλ¬κ° λ¬λ€. μ΄λ»κ²νλ©΄ μκ° μ΄κ³Όλ₯Ό μ€μΌ μ μμκΉ κ³ λ―Όνλ€κ°, μΈν°λ·μ λμμ λ°μλ€. μ λ¬Έμ κ° ν΄μ μκ³ λ¦¬μ¦μΌκΉ? μκ°ν΄λ³΄λ, dic μ νμ©ν΄μ ν¨μ¨μ±μ λμΌ μ μμλ€. μ νλ²νΈλ₯Ό dicμ keyκ°μΌλ‘ λ£μ΄μ keyκ°λ€μ λΉκ΅ν¨μΌλ‘μ¨ (μ¬μ€μ λ΄κ° μ§ μ½λμ λ°©λ²μ κ°μ, dicλ§ νμ©ν λΏ) ν¨μ¨μ λμλ€.
# μ΄λ°μ μ§ μ½λ (ν¨μ¨μ± ν
μ€νΈ μκ° μ΄κ³Ό)
# def solution(phone_book):
# for number in phone_book:
# n = ""
# for num in number:
# n += num
# if n in phone_book and n!=number:
# return False
# return True
def solution(phone_book):
dic = {}
for i in range(len(phone_book)):
dic[phone_book[i]] = 1 #keyκ°λ§ μΈκΊΌλκΉ κ·Έλ₯ valueλ μ λΆ 1λ£μ΄μ€
for number in phone_book:
n = ""
for num in number:
n += num
if n in dic and n!=number:
return False
return True
λ€λ₯Έ μ¬λ νμ΄
https://programmers.co.kr/learn/courses/30/lessons/42577/solution_groups?language=python3
λ΄κ° νΌ νμ΄κ° λ§μ μ’μμλ₯Ό λ°μ νμ΄ μ€ νλμλ€. κΈ°λΆμ΄ μ’λ€. μμ μ¬λλ€μ μκ°νλ λ°©μμ΄ λ€ κ°μκ±΄κ° νν μ΅λν ν΄μ μκ³ λ¦¬μ¦μ μ΄μ©ν΄μ νλ €κ³ λ Έλ ₯ν μ μ΄ μ΄λ° κ²°κ³Όλ₯Ό λΈκ²κ°λ€.
λλ κ°μ΄ μ€ν°λνλ μ€λΉ λ μλμ κ°μ μ½λλ‘ μ§―λ€. ν΄μμκ³ λ¦¬μ¦μ μ¬μ©νμ§ μμμ§λ§ μμ΄λμ΄κ° μ’μλ€. startswith κΈ°μ΅νμ!
startswith ν¨μλ₯Ό μ΄μ©ν μ½λ (μ’μμμκ° κ°μ₯ λ§μ μ½λμ΄κΈ°λ ν¨)
from itertools import permutations
def solution(phone_book):
answer = True
for a in list(permutations(phone_book,2)):
if a[1].startswith(a[0]): answer=False
return answer
combination, sorted(key = len ) μ΄μ©ν μ½λ
from itertools import combinations as c
def solution(phoneBook):
answer = True
sortedPB = sorted(phoneBook, key= len)
for (a,b) in c( sortedPB,2):
if a == b[:len(a)]:
answer = False
return answer
key=len...? λ¨μ΄ κΈΈμ΄μμΌλ‘ μ λ ¬ν μ μλ λ°©λ²μ΄λ€. λ΄κ° μ΄λ°μ μ΄λ κ² νκ³ μΆμλλ°,,, μ λ ¬μ μ΄λ κ² ν μμλ€λ νμ μ μ΄λ€.. κΈ°μ΅ν΄λμ
'Algorithm > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μ λ ¬ - κ°μ₯ ν° μ (level.2) (0) | 2021.09.07 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μ λ ¬-kλ²μ§Έ μ (level.1) (0) | 2021.09.07 |
[νλ‘κ·Έλλ¨Έμ€] ν΄μ-μμ£Όνμ§ λͺ»ν μ μ ( level.1) (0) | 2021.09.06 |
[νλ‘κ·Έλλ¨Έμ€] μ½μμ κ°μμ λ§μ (level.1) (0) | 2021.09.03 |
[νλ‘κ·Έλλ¨Έμ€] μμ λ§λ€κΈ° (level.1) (0) | 2021.09.03 |