์ด๋ฒ ์ฐจ๋ก๋ ์ญ์๋ ์ฝํ ์ ์์ฃผ ์ถ์ ๋๋ ํด์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ฝํ ๋ง์ถคํ ๊ฐ๋ ์ค๋ช
Hash๋ key: value๋ฅผ ๊ฐ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
์ ํ๋ฒํธ๋ถ์ ๊ฐ๋ค. -> ๊ฒ์์ฐฝ์ ์ด๋ฆ(key)๋ฅผ ์ ๋ ฅํ๋ฉด, ๊ฒฐ๊ณผ(value)๊ฐ ๋์จ๋ค.
์ด๊ฒ ์๋ค๋ฉด, ๋ฐ๋ณต๋ฌธ์ ํตํด, ๋ชจ๋ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ผํจ. -> ๋ฐ์ดํฐ๊ฐ ๋ง๋ค๋ฉด ์ ๋ต์ด ๋ ์ ์๋ค.
HashMap์ ๋ง๋ค๋ฉด ๋น ๋ฅด๊ฒ ํด๊ฒฐ ๊ฐ๋ฅ!
* Hash๋ ๋ชจ๋ ์๋ฃ๊ตฌ์กฐ์ ์ฌ์ฉ๊ฐ๋ฅ *
๊ธฐ์ตํด์ผํ ํจ์: put, get, getOrDefualt
get(์ฐพ๊ณ ์ ํ๋ ๋ณ์): ์ฐพ๊ณ ์ ํ๋ ๋ณ์๊ฐ ์์ผ๋ฉด error
getOrDefault(์ฐพ๊ณ ์ ํ๋ ๋ณ์, false): ์ฐพ๊ณ ์ ํ๋ ๋ณ์๊ฐ ์์ผ๋ฉด false ๋ฐํ
๊ทธ๋ผ, ์ธ์ ํด์๋ฅผ ์จ์ผํ ๊น?
String์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํด์ผํ ๋์ด๋ค. ๋๋ถ๋ถ Key๊ฐ String ์ธ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์๋ฉด,
1. ์์ฃผํ์ง ๋ชปํ ์ ์
์ ์ ์ด๋ฆ -> ์์ฃผ ์ฌ๋ถ ๊ด๋ฆฌํด์ผํ๋ค.
String Key : bool Value๋ก ๊ด๋ฆฌํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ค.
2.์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ
๊ฒ์ํ ์ฌ์ฉ์ ์ค ์ ๊ณ ๋นํ ์ฌ๋์ ๊ธฐ์ค์ผ๋ก ์ ๊ณ ์ ๋ชฉ๋ก์ ๊ด๋ฆฌํด์ผํ๋ ๋ฌธ์ ์ด๋ค.
์ ๊ณ ๋นํ ์ฌ๋์ ์ด๋ฆ์ธ String์ด ๊ธฐ์ค์ด๋๊น, ํด์๋ฅผ ์จ์ผ๊ฒ ๋ค๊ณ ์๊ฐํด์ผํ๋ค.
String Key: ArrayList<String> Value๋ก ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ๋ฉด ๋๋ค.
3. ์์ฅ
์ท์ ์ข ๋ฅ์ ๋ฐ๋ผ ๊ฐ๊ฐ ๋ช๊ฐ์ ์ต์ ์ด ์๋์ง ์ธ๋ ๋ฌธ์ ์ด๋ค.
์ท์ ์ข ๋ฅ๊ฐ String์ด๋ฏ๋ก String Key: Integer Value๋ก ๊ด๋ฆฌํ๋ ํด์ ๋ฌธ์ ์ด๋ค.
์ฆ, String ์ ๊ธฐ์ค์ผ๋ก ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํ๋ ค๋ฉด ๋จ์๋ฐฐ์ด์ผ๋ก ๊ด๋ฆฌํ ์ ์์ผ๋ฏ๋ก, Hash๋ฅผ ์ฐ์!
์์ ๋ก ์์๋ณด๊ธฐ
๋ฌธ์ ์ค๋ช
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์
๋๋ค.
๊ตฌ์กฐ๋ : 119
๋ฐ์ค์ : 97 674 223
์ง์์ : 11 9552 4421
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก์ Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
์ค๋ต๋ ธํธ
์ฒ์์๋ ์ด์ค for๋ฌธ์ผ๋ก ํ๋์ฉ ์ฒดํฌํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค. ์์ ํ ์คํธ์ผ์ด์ค 3๊ฐ์์ ํต๊ณผํ์ง๋ง, ์ฑ์ ์์ 2๊ฐ์ ๊ฒฝ์ฐ์์ ์๊ฐ์ด๊ณผ๊ฐ ๋ด๋ค.. ใ
์๋ํ๋ฉด ๋ฌธ์์ด ๋น๊ต๋ฅผ String A in String B ๋ก ํ๊ธฐ ๋๋ฌธ์ผ๋ก ๋ณด์ฌ์, startswith ํจ์๋ฅผ ์ฌ์ฉํด๋ดค์ผ๋ 1๊ฐ์ ๊ฒฝ์ฐ์์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ด๋ค.
๊ทธ๋์ ์ ํ๋ฒํธ๋ฅผ key๋ก ๊ด๋ฆฌํ๋ ํด์๋งต์ ๋ง๋ค์ด ํด๊ฒฐํ๋ค.
def solution(phone_book):
## ํด์๋งต ์์ฑ: key - ์ ํ๋ฒํธ๋ถ, value - 1
hash_map = {}
for num in phone_book:
hash_map[num] = 1
## ์ ๋์ด ์ฐพ๊ธฐ
for num in phone_book:
jubdoo = ''
for n in num:
jubdoo += n
if jubdoo in hash_map and jubdoo!=num:
return False
return True
์์ง ํด์๋งต์ด ๋ฏ์ค์ง๋ง ๋ ์ด์ฌํ ์ฐ์ตํด๋ณด์!
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python/์๊ณ ๋ฆฌ์ฆ] DFS์ BFS ์์ ์ ๋ณต(ํ๋ก๊ทธ๋๋จธ์ค - ํ๊ฒ๋๋ฒ) (1) | 2026.01.03 |
|---|