https://school.programmers.co.kr/learn/courses/30/lessons/42577
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โ ์ ๋ตํ์ด (๋ฐฐ์ด)
def solution(phone_book):
phone_book.sort()
answer=True
for i in range(len(phone_book)-1):
if phone_book[i]==phone_book[i+1][:len(phone_book[i])]:
answer=False
return answer
์ด์ ์, JS๋ก ํ๋ฒ ํ์ด๋ณธ ๋ฌธ์ ๋ผ์ ๊ธ๋ฐฉ ํด๊ฒฐํ ์ ์์๋ค.
โก๏ธ ์ด ๋ฌธ์ ์ ํฌ์ธํธ๋ ์ ๋์ฌ๊ฐ ํฌํจ๋๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ sort๋ก ์ ๋ ฌํ ์ํ์์๋ ๋ฐ๋ก ๋ค์์์๋ง ํ์ธํ๋ฉด ๋๋ค๋ ์ ์ด๋ค.
์ ๋ ฌ๋ ์ํ์ด๊ธฐ ๋๋ฌธ์, ๊ทธ๊ฒ๋ ์ผ๋ถ๊ฐ ์๋ ํ ๋จ์ด ์ ์ฒด๊ฐ ์ ๋์ด๊ฐ ๋์ด์ผํด์, ์์ ์ ๊ธฐ์ค์ผ๋ก ๋ค์ ๋จ์ด๊ฐ ์ ๋์ฌ์ ์กฐ๊ฑด์ ์ถฉ์กฑํ์ง ๋ชปํ๋ฉด ์ดํ์ ๋จ์ด๋ค์ ํ์ธํด๋ณผ ํ์๊ฐ ์๋ค.
โ ์ ๋ตํ์ด (ํด์)
for๋ฌธ์ ์ํํ๋ฉด์ ๋ค์ ์์๋ฅผ ํ์ธํ๋ ์์ผ๋ก ํ์ดํ์๋๋ฐ, ๋ฌธ์ ์ ์นดํ ๊ณ ๋ฆฌ๊ฐ ํด์๊ธธ๋
ํ๋ฒ ํด์๋ก ๋ค์ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋ค.
def solution(phone_book):
phone_map = {}
for number in phone_book:
phone_map[number]=True
for number in phone_book:
for i in range(1,len(number)):
prefix=number[:i] # ๊ฐ๋ฅํ ๋ชจ๋ ํ๋ณด ์ ๋์ด ์์ฑ
if prefix in phone_map:
return False
return True
์ ๋๊ฒ ์ ์งํ ๋ฐฉ๋ฒ์ผ๋ก ํธ๋ ๋ฐฉ๋ฒ์ธ๊ฒ ๊ฐ๋ค.
์ผ๋จ, ๋ชจ๋ ๋จ์ด๋ฅผ map์ ์์ฑํด์ ๋ฃ์ด์ฃผ๊ณ , ๋ชจ๋ ๋จ์ด๋ค์ ๋ํด ๊ฐ๋ฅํ ์ ๋์ด๋ฅผ ์์ฑํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ ๋์ด๊ฐ ์์ฑํด๋ map์ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ๋ ๋งต๊ฒ (0) | 2024.07.30 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2024.07.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) | 2024.07.25 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2024.07.24 |
[ํ๋ก๊ทธ๋๋จธ์ค] n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (0) | 2024.07.23 |