์ ํ๋ฒํธ ๋ชฉ๋ก - ํด์
๋ฌธ์
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค.
- ๊ตฌ์กฐ๋ : 119
- ๋ฐ์ค์ : 97 674 223
- ์ง์์ : 11 9552 4421
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- phone_book์ ๊ธธ์ด๋ 1 ์ด์ 1,000,000 ์ดํ์ ๋๋ค.
- ๊ฐ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ ๋๋ค.
- ๊ฐ์ ์ ํ๋ฒํธ๊ฐ ์ค๋ณตํด์ ๋ค์ด์์ง ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต์ ์๋ ํด์์ ๋ํ ๋ฌธ์ ๋ค ์ค ์ ํ๋ฒํธ ๋ชฉ๋ก ๋ฌธ์ ์ด๋ค.
ํด์ฑ์ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ๋น ๋ฅด๊ฒ ์ฝ์ ํ๊ฑฐ๋ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด๋ผ๊ณ ํ๋ค.
ํด๋น ๋ฌธ์ ๋ sort() ์ startswith() ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ํ์๋ค.
def solution(phone_book):
l = len(phone_book)
phone_book.sort()
for i in range(l-1) :
if phone_book[i+1].startswith(phone_book[i]) :
return False
return True
- ์ด๊ธฐ phone_book์ ๊ธธ์ด ์ ์ฅ
- phone_book ์ ๋ ฌ(์ซ์ํํ ๋ฌธ์์ด ์ ๋ ฌ์ ๊ฐ์ฅ์๋ฆฟ์๊ฐ ๊ฐ์ฅ ์์๊ฒ๋ถํฐ ์ ๋ ฌ)2๋ฒ ๊ณผ์ ์์ sort๋ฅผ ํด์ฃผ๋ ์ด์ ๋ ์ ๋ ฌ์ ํตํด ์ ๋์ฌ ๋ถ๋ถ์ด ๋น์ทํ ๋ฌธ์์ด๋ค์ ์ฐจ๋ก๋๋ก ๋์ดํ๊ฒ๋๊ณ ์ด๋ ๊ฒ ๋ ์ ๋ฐ๋ก ์์ ์ซ์์ ๋ค์ ์ซ์๋ฅผ ๋น๊ตํจ์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ธฐ๋๋ฌธ.
- for๋ฌธ์ ์ด์ฉํด ์ ๋ ฌ๋ ๋ฆฌ์คํธ์์ ํ ์์์ ๋ฐ๋ก ๋ค์ ์์๋ฅผ ๋น๊ต(startswith)์ด์ฉ
- ๋ง์ผ ํ๋๋ผ๋ ์ ๋์ฌ์ ํด๋น๋๋ฉด False ๋ฆฌํด, ์๋์ True ๋ฆฌํด
๋ฌธ์ ์ถ์ฒ : ํ๋ก๊ทธ๋๋จธ์ค https://programmers.co.kr/
'๐ฏ CodingTest > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2022.04.09 |
---|---|
[Programmers] ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2022.04.09 |
[Programmers]์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2022.04.05 |
[Programmers]๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (0) | 2022.04.05 |
[Programmers]์์ฃผํ์ง ๋ชปํ ์ ์ - ํด์ (0) | 2022.04.05 |