[python] SWEA - 1219. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 4์ผ์ฐจ - ๊ธธ์ฐพ๊ธฐ
๐ค๋ฌธ์ ํด๊ฒฐ
1. D4 | DFS ์คํ
2. ์ธ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
3. DFS ํ์์ ํ๋ค.
4. ๋์ ์ ๋ง๋๋ฉด answer = 1 ์๋๋ฉด ๊ทธ๋๋ก answer = 0 ์ ์ถ๋ ฅํ๋ค.
๐จ DFS ๊ธฐ๋ณธ ๋ฌธ์
๐ป์์ค ์ฝ๋
for _ in range(1, 11):
tc, n = map(int, input().split())
# ์ธ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
# {1:[2,3], 2:[4,8]}
# 1์์ 2์ 3์ผ๋ก ๊ฐ ์ ์๊ณ , 2์์ 4์ 8๋ก ๊ฐ ์ ์๋ค๋ ์๋ฏธ
adj_list = list(map(int, input().split()))
adj = {x:[] for x in range(100)}
for i in range(0, n*2, 2):
s = adj_list[i]
e = adj_list[i+1]
adj[s].append(e)
stack = [0]
# ์ค๋ณตํ์์ ๋ง๊ธฐ ์ํด visit์ ํ์ฉ
visit = [0]*(100)
visit[0] = 1
answer = 0
while stack:
c = stack.pop()
for neighbor in adj[c]:
# ๋์ ์ ๋ง๋๋ฉด ๊ธธ์ด ์๋ค๋ ์๋ฏธ์ด๋ฏ๋ก 1์ ๋ด์์ฃผ๊ณ while๋ฌธ์ ๋๋ด์ค๋ค.
if neighbor == 99:
answer = 1
break
if visit[neighbor] == 0:
stack.append(neighbor)
visit[neighbor] = 1
print('#{} {}'.format(tc, answer))
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: SW Expert Academy
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋์ํํ ์ง๋์์ A๋์์์ ์ถ๋ฐํ์ฌ B๋์๋ก ๊ฐ๋ ๊ธธ์ด ์กด์ฌํ๋์ง ์กฐ์ฌํ๋ ค๊ณ ํ๋ค.
๊ธธ ์ค๊ฐ ์ค๊ฐ์๋ ์ต๋ 2๊ฐ์ ๊ฐ๋ฆผ๊ธธ์ด ์กด์ฌํ๊ณ , ๋ชจ๋ ๊ธธ์ ์ผ๋ฐฉ ํตํ์ผ๋ก ๋๋์์ค๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ค์๊ณผ ๊ฐ์ด ๊ธธ์ด ์ฃผ์ด์ง ๋, A๋์์์ B๋์๋ก ๊ฐ๋ ๊ธธ์ด ์กด์ฌํ๋์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ๋ผ.
- A์ B๋ ์ซ์ 0๊ณผ 99์ผ๋ก ๊ณ ์ ๋๋ค.
- ๋ชจ๋ ๊ธธ์ ์์์์ผ๋ก ๋ํ๋ด์ด์ง๋ค. ์ ์์์์ 2๋ฒ์์ ์ถ๋ฐ ํ ์ ์๋ ๊ธธ์ ํํ์ (2, 5), (2, 9)๋ก ๋ํ๋ผ ์ ์๋ค.
- ๊ฐ๋ ๊ธธ์ ๊ฐ์์ ์๊ด์์ด ํ๊ฐ์ง ๊ธธ์ด๋ผ๋ ์กด์ฌํ๋ค๋ฉด ๊ธธ์ด ์กด์ฌํ๋ ๊ฒ์ด๋ค.
- ๋จ ํ์ดํ ๋ฐฉํฅ์ ๊ฑฐ์ฌ๋ฌ ๋์๊ฐ ์๋ ์๋ค.
[์ ์ฝ ์ฌํญ]
์ถ๋ฐ์ ์ 0, ๋์ฐฉ์ ์ 99์ผ๋ก ํํ๋๋ค.
์ ์ (๋ถ๊ธฐ์ )์ ๊ฐ์๋ 98๊ฐ(์ถ๋ฐ์ ๊ณผ ๋์ฐฉ์ ์ ์ธ)๋ฅผ ๋์ด๊ฐ์ง ์์ผ๋ฉฐ, ํ ๊ฐ์ ์ ์ ์์ ์ ํํ ์ ์๋ ๊ธธ์ ๊ฐ์๋ 2๊ฐ๋ฅผ ๋์ด๊ฐ์ง ์๋๋ค.
์๋ ์ ์๋ ๊ฐ์ด๋ ๋ผ์ธ์ ์ ์์ฌํญ์ผ ๋ฟ ๊ฐ์ ์ฌํญ์ ์๋๋ค.
[๋ฐ์ดํฐ ์ ์ฅ ๊ฐ์ด๋]
์ ์ (๋ถ๊ธฐ์ )์ ๊ฐ์๊ฐ ์ต๋ 100๊ฐ ์ด๊ธฐ ๋๋ฌธ์, size [100]์ ์ ์ ๋ฐฐ์ด 2๊ฐ์ ์ ์ธํ์ฌ, ๊ฐ ์ ์ ์ ๋ฒํธ๋ฅผ ์ฃผ์๋ก ์ฌ์ฉํ๊ณ , ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ๊ฐ ์ ์ ์์ ๋์ฐฉํ๋ ์ ์ ์ ๋ฒํธ๋ฅผ ์ ์ฅํ๋ค.
์ ๊ทธ๋ฆผ์ ์ ์ฅํ์์ ๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
[์
๋ ฅ]
๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ ์ค์๋ ํ
์คํธ ์ผ์ด์ค์ ๋ฒํธ์ ๊ธธ์ ์ด ๊ฐ์๊ฐ ์ฃผ์ด์ง๊ณ ๊ทธ ๋ค์ ์ค์๋ ์์์์ด ์ฃผ์ด์ง๋ค.
์์์์ ๊ฒฝ์ฐ, ๋ณ๋๋ก ๋๋์ด ํํ๋๋ ๊ฒ์ด ์๋๋ผ ์ซ์์ ๋์ด์ด๋ฉฐ, ๋์ด๋ ์์๋๋ก ์์์์ ์ด๋ฃฌ๋ค.
[์ถ๋ ฅ]
#๋ถํธ์ ํจ๊ป ํ
์คํธ ์ผ์ด์ค์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ณต๋ฐฑ ๋ฌธ์ ํ ํ
์คํธ ์ผ์ด์ค์ ๋ํ ๋ต์ ์ถ๋ ฅํ๋ค.