๋ฌธ์ ์ค๋ช
N๊ฐ์ ๋ง์๋ก ์ด๋ฃจ์ด์ง ๋๋ผ๊ฐ ์์ต๋๋ค. ์ด ๋๋ผ์ ๊ฐ ๋ง์์๋ 1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ๊ฐ๊ฐ ํ๋์ฉ ๋ถ์ฌ๋์ด ์์ต๋๋ค. ๊ฐ ๋ง์์ ์๋ฐฉํฅ์ผ๋ก ํตํํ ์ ์๋ ๋๋ก๋ก ์ฐ๊ฒฐ๋์ด ์๋๋ฐ, ์๋ก ๋ค๋ฅธ ๋ง์ ๊ฐ์ ์ด๋ํ ๋๋ ์ด ๋๋ก๋ฅผ ์ง๋์ผ ํฉ๋๋ค. ๋๋ก๋ฅผ ์ง๋ ๋ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ก๋ณ๋ก ๋ค๋ฆ ๋๋ค. ํ์ฌ 1๋ฒ ๋ง์์ ์๋ ์์์ ์์ ๊ฐ ๋ง์๋ก ์์ ๋ฐฐ๋ฌ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ ๋ง์๋ก๋ถํฐ ์์ ์ฃผ๋ฌธ์ ๋ฐ์ผ๋ ค๊ณ ํ๋๋ฐ, N๊ฐ์ ๋ง์ ์ค์์ K ์๊ฐ ์ดํ๋ก ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํ ๋ง์์์๋ง ์ฃผ๋ฌธ์ ๋ฐ์ผ๋ ค๊ณ ํฉ๋๋ค. ๋ค์์ N = 5, K = 3์ธ ๊ฒฝ์ฐ์ ์์์ ๋๋ค.
์ ๊ทธ๋ฆผ์์ 1๋ฒ ๋ง์์ ์๋ ์์์ ์ [1, 2, 4, 5] ๋ฒ ๋ง์๊น์ง๋ 3 ์ดํ์ ์๊ฐ์ ๋ฐฐ๋ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ 3๋ฒ ๋ง์๊น์ง๋ 3์๊ฐ ์ด๋ด๋ก ๋ฐฐ๋ฌํ ์ ์๋ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฏ๋ก 3๋ฒ ๋ง์์์๋ ์ฃผ๋ฌธ์ ๋ฐ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ 1๋ฒ ๋ง์์ ์๋ ์์์ ์ด ๋ฐฐ๋ฌ ์ฃผ๋ฌธ์ ๋ฐ์ ์ ์๋ ๋ง์์ 4๊ฐ๊ฐ ๋ฉ๋๋ค.
๋ง์์ ๊ฐ์ N, ๊ฐ ๋ง์์ ์ฐ๊ฒฐํ๋ ๋๋ก์ ์ ๋ณด road, ์์ ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํ ์๊ฐ K๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์ ์ฃผ๋ฌธ์ ๋ฐ์ ์ ์๋ ๋ง์์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ๋ง์์ ๊ฐ์ N์ 1 ์ด์ 50 ์ดํ์ ์์ฐ์์ ๋๋ค.
- road์ ๊ธธ์ด(๋๋ก ์ ๋ณด์ ๊ฐ์)๋ 1 ์ด์ 2,000 ์ดํ์ ๋๋ค.
- road์ ๊ฐ ์์๋ ๋ง์์ ์ฐ๊ฒฐํ๊ณ ์๋ ๊ฐ ๋๋ก์ ์ ๋ณด๋ฅผ ๋ํ๋ ๋๋ค.
- road๋ ๊ธธ์ด๊ฐ 3์ธ ๋ฐฐ์ด์ด๋ฉฐ, ์์๋๋ก (a, b, c)๋ฅผ ๋ํ๋
๋๋ค.
- a, b(1 ≤ a, b ≤ N, a != b)๋ ๋๋ก๊ฐ ์ฐ๊ฒฐํ๋ ๋ ๋ง์์ ๋ฒํธ์ด๋ฉฐ, c(1 ≤ c ≤ 10,000, c๋ ์์ฐ์)๋ ๋๋ก๋ฅผ ์ง๋๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค.
- ๋ ๋ง์ a, b๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก๋ ์ฌ๋ฌ ๊ฐ๊ฐ ์์ ์ ์์ต๋๋ค.
- ํ ๋๋ก์ ์ ๋ณด๊ฐ ์ฌ๋ฌ ๋ฒ ์ค๋ณตํด์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- K๋ ์์ ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํ ์๊ฐ์ ๋ํ๋ด๋ฉฐ, 1 ์ด์ 500,000 ์ดํ์ ๋๋ค.
- ์์์ ๋ ๋ง์๊ฐ์ ํญ์ ์ด๋ ๊ฐ๋ฅํ ๊ฒฝ๋ก๊ฐ ์กด์ฌํฉ๋๋ค.
- 1๋ฒ ๋ง์์ ์๋ ์์์ ์ด K ์ดํ์ ์๊ฐ์ ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํ ๋ง์์ ๊ฐ์๋ฅผ return ํ๋ฉด ๋ฉ๋๋ค.
์ ์ถ๋ ฅ์
N | road | K | result |
5 | [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] | 3 | 4 |
6 | [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] | 4 | 4 |
์ ์ถ๋ ฅ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
์
์ถ๋ ฅ ์ #2
์ฃผ์ด์ง ๋ง์๊ณผ ๋๋ก์ ๋ชจ์์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค.
1๋ฒ ๋ง์์์ ๋ฐฐ๋ฌ์ 4์๊ฐ ์ดํ๊ฐ ๊ฑธ๋ฆฌ๋ ๋ง์์ [1, 2, 3, 5] 4๊ฐ์ด๋ฏ๋ก 4๋ฅผ return ํฉ๋๋ค.
ํ์ด
- ์ฒ์์ ๊ทธ๋ฅ ๋ธ๋ฃจํธ ํฌ์ค(Brute Force)๋ก ๋์ถฉ ๋ฐ๋ผ๊ฐ๋ณด๋ค๊ฐ ์ ๋นํ ์๋ฌด๊ฐ์ด๋ ๋ฆฌํดํ๋ ค๊ณ ํ๋๋ฐ... ์๋จใ
- ํ ์คํธ ์ผ์ด์ค๋ ๊ณ์ ์คํจ.
- ์ฑ์ ํด๋ณด๋ ํจ์จ์ฑ ํ ์คํธ๋ ์๊ณ ์ ํ์ฑ ํ ์คํธ๋ง 30๊ฐ ์๋ค. ์ ํํ ๋ต์ ์ฐพ๋๊ฒ ์ค์ํ๋ค.
- ๊ฒฐ๊ตญ ๋ง์ NxN 2์ฐจ์ ๋ฐฐ์ด์ ์์ ๋ฐฐ๋ฌ ์ต๋๊ฐ์ ๋ฃ์๋ค.
def solution(N, road, K):
answer = 0
town = [[500001] * N for i in range(N)]
for _t in town:
print(_t)
return answer
ํ
์คํธ 1
์ถ๋ ฅ ใ
[500001, 500001, 500001, 500001, 500001]
[500001, 500001, 500001, 500001, 500001]
[500001, 500001, 500001, 500001, 500001]
[500001, 500001, 500001, 500001, 500001]
[500001, 500001, 500001, 500001, 500001]
- ์ด์ road๋ฅผ ์ํํ๊ณ O(N) 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ์ ์ฑ์๋ฃ๋๋ค.
- ๊ธฐ์กด์ ๋ค์ด์๋ ๊ฐ๋ณด๋ค ํฐ ๊ฐ์ผ ๊ฒฝ์ฐ์๋ง ๋ฎ์ด์์ด๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก 1๋ฒ ๋ง์์์ 1๋ฒ ๋ง์๋ก ์ฃผ๋ฌธํ๋ฉด ๋น์ฐํ 0์๊ฐ์ด๋ฏ๋ก ๋ง์ง๋ง ๋ต+1 ๋ฆฌํด์ผ๋ก ์์ ํ๋ค.
def solution(N, road, K):
answer = 0
town = [[500001] * (N+1) for i in range(N+1)]
for (s,e,t) in road:
town[s][e] = t
town[e][s] = t
for _t in town:
print(_t)
return answer + 1
ํ
์คํธ 1
์ถ๋ ฅ ใ
[500001, 500001, 500001, 500001, 500001, 500001]
[500001, 500001, 1, 500001, 2, 500001]
[500001, 1, 500001, 3, 500001, 2]
[500001, 500001, 3, 500001, 500001, 1]
[500001, 2, 500001, 500001, 500001, 2]
[500001, 500001, 2, 1, 2, 500001]
- ์ฌ๊ธฐ๊น์ง๋ ๋์ถฉ ๋ง๋ค์๋๋ฐ ์ด์ ์ด๋ป๊ฒ ํ๋๋?
- ๊ทธ๋ฅ ๋ ธ๊ฐ๋ค๋ก ๋ํ๋ฉด์ K ๋ฎ์ ๊ฐ๋ค ๊ณ์ ์ ์ฅํ๋ ์ ๋ฐ์ ์๋?ใ ใ ใ
์ถ๋ฐ \ ๋์ฐฉ | 0 | 1 | 2 | 3 | 4 | 5 |
0 | 500001 | 500001 | 500001 | 500001 | 500001 | 500001 |
1 | 500001 | 500001 | 1 | 500001 | 2 | 500001 |
2 | 500001 | 1 | 500001 | 3 | 500001 | 2 |
3 | 500001 | 500001 | 3 | 500001 | 500001 | 1 |
4 | 500001 | 2 | 500001 | 500001 | 500001 | 2 |
5 | 500001 | 500001 | 2 | 1 | 2 | 500001 |
- ๋
ธ๊ฐ๋ค ๋ฐฉ์
- 1๋ฒ ๋ง์์์ K(=3) ์๊ฐ์์ ๋์ฐฉํ ์ ์๋ ๋ง์์...
- 2๋ฒ(1์๊ฐ), 4๋ฒ(2์๊ฐ)
- 2๋ฒ ๋ง์์์ ๊ฐ ์ ์๋ ๋ง์์...
- 1๋ฒ(1์๊ฐ), 3๋ฒ(3์๊ฐ), 5๋ฒ(2์๊ฐ)
- 1๋ฒ : ...
- 3๋ฒ ๋ง์์์ ๊ฐ ์ ์๋ ๋ง์์... 2(3), 5(2)
- 5๋ฒ ๋ง์์์ ๊ฐ ์ ์๋ ๋ง์์... 2(2), 3(1), 4(2)
- 1๋ฒ(1์๊ฐ), 3๋ฒ(3์๊ฐ), 5๋ฒ(2์๊ฐ)
- 4๋ฒ ๋ง์์์ ๊ฐ ์ ์๋ ๋ง์์...
- 1๋ฒ(2์๊ฐ), 5๋ฒ(2์๊ฐ)
- 1๋ฒ ...
- 5๋ฒ ...
- 1๋ฒ(2์๊ฐ), 5๋ฒ(2์๊ฐ)
- 2๋ฒ ๋ง์์์ ๊ฐ ์ ์๋ ๋ง์์...
- 2๋ฒ(1์๊ฐ), 4๋ฒ(2์๊ฐ)
- 1๋ฒ ๋ง์์์ K(=3) ์๊ฐ์์ ๋์ฐฉํ ์ ์๋ ๋ง์์...
- ์ด๊ฑฐ๋ ๋ฐฐ์ด๋ก ๋ง๋ค๋ฉด ๋๊ฒ ๋ค?
- ์ต๋จ ๋์ฐฉ ์๊ฐ ๋ฐฐ์ด.
- ๊ธฐ์กด ๊ฐ๋ณด๋ค ์์ผ๋ฉด ๋ฎ์ด์์ฐ๊ณ ๊ณ์ํ๋ฉด ๋๊ณ ,
- ๊ธฐ์กด ๊ฐ๋ณด๋ค ํฌ๋ฉด ๋ฉ์ถ๋ฉด ๋จ
๋ง์ | 0 | 1 | 2 | 3 | 4 | 5 |
์ด๊ธฐ๊ฐ | 500001 | 500001 | 500001 | 500001 | 500001 | 500001 |
1ํธ | 500001 | 500001 | 1 | 500001 | 2 | 500001 |
2ํธ | 500001 | 1+1 | 1+3 |
- ๊ทธ๋ฌ๋ฉด n=n์ผ ๊ฒฝ์ฐ์๋ 0์ ๋ฃ์ด๋ฌ์ผํ๊ฒ ๊ตฌ๋?
- ๊ทธ๋์ผ ์ด๋์ ์ํ๋ค...
def solution(N, road, K):
answer = 0
town = [[500001] * (N+1) for i in range(N+1)]
for (s,e,t) in road:
town[s][e] = t
town[e][s] = t
for i in range(N+1):
town[i][i] = 0
for _t in town:
print(_t)
return answer + 1
ํ
์คํธ 1
์ถ๋ ฅ ใ
[0, 500001, 500001, 500001, 500001, 500001]
[500001, 0, 1, 500001, 2, 500001]
[500001, 1, 0, 3, 500001, 2]
[500001, 500001, 3, 0, 500001, 1]
[500001, 2, 500001, 500001, 0, 2]
[500001, 500001, 2, 1, 2, 0]
- ์ต๋จ ๋์ฐฉ ์๊ฐ ๋ฐฐ์ด.
- 0ํธ : ์์ ๋ง์์ธ 1๋ฒ ๋ง์์ 0.
- 1ํธ : 2๋ฒ ๋ง์๊ณผ 4๋ฒ ๋ง์ ๋์ฐฉ, ์ถ๋ฐ ๋ง์์ ์๊ฐ์ ํฉ์ฐ
- K ๋ณด๋ค ์์ผ๋ฉด ๊ณ์, ๊ธฐ์กด ๊ฐ์ด ๋ ์์ผ๋ฉด ๊ณ์, ๊ทธ ์ธ ๋ฉ์ถค (์ด๊ฑด ๊ณ์)
๋ง์ | 0 | 1 | 2 | 3 | 4 | 5 |
์ด๊ธฐ๊ฐ | 500001 | 500001 | 500001 | 500001 | 500001 | 500001 |
0ํธ (์ถ๋ฐ) | 500001 | 0 | 500001 | 500001 | 500001 | 500001 |
1ํธ | 500001 | 0 | 0+1 | 500001 | 0+2 | 500001 |
- 2ํธ : 2๋ฒ ๋ง์๊ณผ 4๋ฒ ๋ง์์์ ์ถ๋ฐ
- ๋์ฐฉํ ์ ์๋ ๋ง์์ 2 -> 1,3,5 / 4 -> 1 ,5
๋ง์ | 0 | 1 | 2 | 3 | 4 | 5 |
์ด๊ธฐ๊ฐ | 500001 | 500001 | 500001 | 500001 | 500001 | 500001 |
0ํธ (์ถ๋ฐ) | 500001 | 0 | 500001 | 500001 | 500001 | 500001 |
1ํธ | 500001 | 0 |
0+1 (K๋ณด๋ค ์์์ ์ฑ๊ณต) |
500001 |
0+2 (K๋ณด๋ค ์์์ ์ฑ๊ณต) |
500001 |
2ํธ | 500001 | 0 0 + 1 (์คํจ) 0 + 2 (์คํจ) |
1 |
500001 0 + 1 + 3 (K๋ณด๋ค ์ปค์ ์คํจ) |
2 0+2 |
3 0+1+2 (K๋ณด๋ค ์์์ ์ฑ๊ณต) 0+2+2 (K๋ณด๋ค ์ปค์ ์คํจ) |
- Q์ ๋์ด์ ๋ฐฐ๋ฌํ ์ ์๋ ๋ฐฐ๋ฌ์์ด ์์ผ๋๊น,
- ์ต๋จ ๋์ฐฉ ์๊ฐ ๋ฐฐ์ด์์ K๋ณด๋ค ์์ ๊ฐ์ ์ฐพ์์ ์นด์ดํ ํด์ ๋ฆฌํด
- ๋ฐ๋๋ก 500001์ ๊ฐฏ์๋ฅผ N์์ ๋นผ์ ์ฃผ๋ฉด? N=5 - 2๊ฐ = 3
- ์~ ๊ทผ๋ฐ 500001 ๋๋ฌด ๋ฐฉํด๋๋ค?
- ์ผ๋จ ํ ์คํธ ์ผ์ด์คํธ๋ 9๋ก ํ์!
- ๋์ค์ ๋๋๋ฆฌ๋ ๊ฑฐ ๊น๋จน์ง ๋ง๊ธฐ
def solution(N, road, K):
answer = 0
town = [[500001] * (N+1) for i in range(N+1)]
shortest_road = town[0]
delivery_man = [False] * (N+1)
for (s,e,t) in road:
if town[s][e] > t:
town[s][e] = town[e][s] = t
for i in range(N+1): town[i][i] = 0
shortest_road[1] = 0 # ์์ ๋ง์ ์ถ๋ฐ ์๊ฐ ์ธํ
!
delivery_man[1] = True # ๋ฐฐ๋ฌ์ ์ถ๋ฐ!
for _t in town: print(_t)
print("shortest_road:", shortest_road)
print("delivery_man :", delivery_man)
while sum(delivery_man) > 0: # ๋ฐฐ๋ฌ์์ด ์๋ ๋์ ๋ฃจํ
for rider in range(1, N+1):
if delivery_man[rider] == True:
print(rider,"๋ฒ ๋ฐฐ๋ฌ์")
print("shortest_road:", shortest_road)
for i in range(1, N+1):
_time = town[rider][i]
_new_time = shortest_road[rider] + _time
if _new_time <= K and _new_time < shortest_road[i]:
shortest_road[i] = _new_time
delivery_man[i] = True
delivery_man[rider] = False
print("shortest_road:", shortest_road)
for i in range(1, N+1):
if shortest_road[i] < 500001:
answer += 1
return answer
- ํ ์คํธ ์ผ์ด์ค๋ ์ ํ๋ฆฐ๋ค. ๊ณผ์ฐ?
ํ
์คํธ 1
์
๋ ฅ๊ฐ ใ 5, [[1, 2, 1], [2, 3, 3], [5, 2, 2], [1, 4, 2], [5, 3, 1], [5, 4, 2]], 3
๊ธฐ๋๊ฐ ใ 4
์คํ ๊ฒฐ๊ณผ ใ ํ
์คํธ๋ฅผ ํต๊ณผํ์์ต๋๋ค.
์ถ๋ ฅ ใ
[0, 0, 500001, 500001, 500001, 500001]
[500001, 0, 1, 500001, 2, 500001]
[500001, 1, 0, 3, 500001, 2]
[500001, 500001, 3, 0, 500001, 1]
[500001, 2, 500001, 500001, 0, 2]
[500001, 500001, 2, 1, 2, 0]
shortest_road: [0, 0, 500001, 500001, 500001, 500001]
delivery_man : [False, True, False, False, False, False]
1 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 500001, 500001, 500001, 500001]
shortest_road: [0, 0, 1, 500001, 2, 500001]
2 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 1, 500001, 2, 500001]
shortest_road: [0, 0, 1, 500001, 2, 3]
4 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 1, 500001, 2, 3]
shortest_road: [0, 0, 1, 500001, 2, 3]
5 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 1, 500001, 2, 3]
shortest_road: [0, 0, 1, 500001, 2, 3]
ํ
์คํธ 2
์
๋ ฅ๊ฐ ใ 6, [[1, 2, 1], [1, 3, 2], [2, 3, 2], [3, 4, 3], [3, 5, 2], [3, 5, 3], [5, 6, 1]], 4
๊ธฐ๋๊ฐ ใ 4
์คํ ๊ฒฐ๊ณผ ใ ํ
์คํธ๋ฅผ ํต๊ณผํ์์ต๋๋ค.
์ถ๋ ฅ ใ
[0, 0, 500001, 500001, 500001, 500001, 500001]
[500001, 0, 1, 2, 500001, 500001, 500001]
[500001, 1, 0, 2, 500001, 500001, 500001]
[500001, 2, 2, 0, 3, 2, 500001]
[500001, 500001, 500001, 3, 0, 500001, 500001]
[500001, 500001, 500001, 2, 500001, 0, 1]
[500001, 500001, 500001, 500001, 500001, 1, 0]
shortest_road: [0, 0, 500001, 500001, 500001, 500001, 500001]
delivery_man : [False, True, False, False, False, False, False]
1 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 500001, 500001, 500001, 500001, 500001]
shortest_road: [0, 0, 1, 2, 500001, 500001, 500001]
2 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 1, 2, 500001, 500001, 500001]
shortest_road: [0, 0, 1, 2, 500001, 500001, 500001]
3 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 1, 2, 500001, 500001, 500001]
shortest_road: [0, 0, 1, 2, 500001, 4, 500001]
5 ๋ฒ ๋ฐฐ๋ฌ์
shortest_road: [0, 0, 1, 2, 500001, 4, 500001]
shortest_road: [0, 0, 1, 2, 500001, 4, 500001]
- ์ด? ํ๋ฒ์ ์ฑ๊ณต์ด์ผ? ์???
- ์ด์ํ๋ค. ์ด๊ฒ ์ฑ๊ณตํ๋ค... ใ ก.ใ ก;
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.01ms, 10.3MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.01ms, 10.3MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.02ms, 10.4MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.01ms, 10.3MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.03ms, 10.2MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.04ms, 10.4MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.11ms, 10.3MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.21ms, 10.4MB)
ํ
์คํธ 14 ใ ํต๊ณผ (0.19ms, 10.3MB)
ํ
์คํธ 15 ใ ํต๊ณผ (0.37ms, 10.5MB)
ํ
์คํธ 16 ใ ํต๊ณผ (0.08ms, 10.4MB)
ํ
์คํธ 17 ใ ํต๊ณผ (0.21ms, 10.3MB)
ํ
์คํธ 18 ใ ํต๊ณผ (0.14ms, 10.2MB)
ํ
์คํธ 19 ใ ํต๊ณผ (0.48ms, 10.3MB)
ํ
์คํธ 20 ใ ํต๊ณผ (0.30ms, 10.4MB)
ํ
์คํธ 21 ใ ํต๊ณผ (0.60ms, 10.5MB)
ํ
์คํธ 22 ใ ํต๊ณผ (0.30ms, 10.3MB)
ํ
์คํธ 23 ใ ํต๊ณผ (0.86ms, 10.4MB)
ํ
์คํธ 24 ใ ํต๊ณผ (0.85ms, 10.4MB)
ํ
์คํธ 25 ใ ํต๊ณผ (0.41ms, 10.4MB)
ํ
์คํธ 26 ใ ํต๊ณผ (0.84ms, 10.5MB)
ํ
์คํธ 27 ใ ํต๊ณผ (0.47ms, 10.6MB)
ํ
์คํธ 28 ใ ํต๊ณผ (0.89ms, 10.6MB)
ํ
์คํธ 29 ใ ํต๊ณผ (0.57ms, 10.5MB)
ํ
์คํธ 30 ใ ํต๊ณผ (0.80ms, 10.5MB)
ํ
์คํธ 31 ใ ํต๊ณผ (0.30ms, 10.3MB)
ํ
์คํธ 32 ใ ํต๊ณผ (0.54ms, 10.3MB)
๊ณ ์์ ํ์ด
- ์ฝ๋๋ ๋ ์งง์๋ฐ ํ๋ ๊ตฌ๊ฐ์ด ์๋ค?
def solution(N, road, K):
visited = [False] * (N + 1)
costs = [float('inf')] * (N + 1)
costs[1] = 0
parents = [1]
while (parents):
parent = parents.pop(0)
visited[parent] = True
for a, b, cost in road:
if (a == parent or b == parent):
target = b if a == parent else a
if costs[target] > costs[parent] + cost:
costs[target] = costs[parent] + cost
parents.append(target)
return sum(1 for c in costs if c <= K)
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.04ms, 10.2MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.03ms, 10.2MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.02ms, 10.4MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.02ms, 10.4MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.11ms, 10.3MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.07ms, 10.2MB)
ํ
์คํธ 14 ใ ํต๊ณผ (8.59ms, 10.4MB)
ํ
์คํธ 15 ใ ํต๊ณผ (14.15ms, 10.3MB)
ํ
์คํธ 16 ใ ํต๊ณผ (0.04ms, 10.4MB)
ํ
์คํธ 17 ใ ํต๊ณผ (0.06ms, 10.2MB)
ํ
์คํธ 18 ใ ํต๊ณผ (2.43ms, 10.4MB)
ํ
์คํธ 19 ใ ํต๊ณผ (12.19ms, 10.3MB)
ํ
์คํธ 20 ใ ํต๊ณผ (1.71ms, 10.2MB)
ํ
์คํธ 21 ใ ํต๊ณผ (23.51ms, 10.5MB)
ํ
์คํธ 22 ใ ํต๊ณผ (4.09ms, 10.2MB)
ํ
์คํธ 23 ใ ํต๊ณผ (20.51ms, 10.3MB)
ํ
์คํธ 24 ใ ํต๊ณผ (10.55ms, 10.5MB)
ํ
์คํธ 25 ใ ํต๊ณผ (35.28ms, 10.5MB)
ํ
์คํธ 26 ใ ํต๊ณผ (37.42ms, 10.6MB)
ํ
์คํธ 27 ใ ํต๊ณผ (32.64ms, 10.4MB)
ํ
์คํธ 28 ใ ํต๊ณผ (25.05ms, 10.4MB)
ํ
์คํธ 29 ใ ํต๊ณผ (38.29ms, 10.6MB)
ํ
์คํธ 30 ใ ํต๊ณผ (6.95ms, 10.6MB)
ํ
์คํธ 31 ใ ํต๊ณผ (0.15ms, 10.3MB)
ํ
์คํธ 32 ใ ํต๊ณผ (0.54ms, 10MB)
- sys.maxsize ๋ผ๋๊ฒ ์๊ตฌ๋...
import sys
def solution(N, road, K):
visited, D, r = [False]*(N+1), [sys.maxsize]*(N+1), [[(None, None)]] + [[] for _ in range(N)]
for e in road:
r[e[0]].append((e[1],e[2]))
r[e[1]].append((e[0],e[2]))
D[1] = 0
for _ in range(1,N+1):
min_ = sys.maxsize
for i in range(1,N+1):
if not visited[i] and D[i] < min_:
min_ = D[i]
m = i
visited[m] = True
for w, wt in r[m]:
if D[m] + wt < D[w]:
D[w] = D[m] + wt
return len([d for d in D if d <= K])
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.4MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.03ms, 10.2MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.02ms, 10.4MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.01ms, 10.2MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.04ms, 10.3MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.11ms, 10.3MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.08ms, 10.4MB)
ํ
์คํธ 14 ใ ํต๊ณผ (0.59ms, 10.4MB)
ํ
์คํธ 15 ใ ํต๊ณผ (0.86ms, 10.5MB)
ํ
์คํธ 16 ใ ํต๊ณผ (0.04ms, 10.3MB)
ํ
์คํธ 17 ใ ํต๊ณผ (0.07ms, 10.3MB)
ํ
์คํธ 18 ใ ํต๊ณผ (0.30ms, 10.2MB)
ํ
์คํธ 19 ใ ํต๊ณผ (0.80ms, 10.4MB)
ํ
์คํธ 20 ใ ํต๊ณผ (0.27ms, 10.1MB)
ํ
์คํธ 21 ใ ํต๊ณผ (1.87ms, 10.7MB)
ํ
์คํธ 22 ใ ํต๊ณผ (0.63ms, 10.3MB)
ํ
์คํธ 23 ใ ํต๊ณผ (1.78ms, 10.5MB)
ํ
์คํธ 24 ใ ํต๊ณผ (0.94ms, 10.3MB)
ํ
์คํธ 25 ใ ํต๊ณผ (1.51ms, 10.6MB)
ํ
์คํธ 26 ใ ํต๊ณผ (1.77ms, 10.4MB)
ํ
์คํธ 27 ใ ํต๊ณผ (1.93ms, 10.6MB)
ํ
์คํธ 28 ใ ํต๊ณผ (1.51ms, 10.5MB)
ํ
์คํธ 29 ใ ํต๊ณผ (1.56ms, 10.6MB)
ํ
์คํธ 30 ใ ํต๊ณผ (1.53ms, 10.5MB)
ํ
์คํธ 31 ใ ํต๊ณผ (0.27ms, 10.2MB)
ํ
์คํธ 32 ใ ํต๊ณผ (0.34ms, 10.2MB)
- ๋ค์ต์คํธ๋ผ
import heapq
import sys
inf = sys.maxsize
def dijkstra(start, graph, distance):
q = []
heapq.heappush(q, (0, start))
distance[start] = 0
while q:
dist, now = heapq.heappop(q)
if distance[now] < dist:
continue
for i, v in enumerate(graph[now]):
cost = dist + v
if cost < distance[i]:
distance[i] = cost
heapq.heappush(q, (cost, i))
return distance
def solution(N, road, K):
answer = 0
graph = [[inf for _ in range(N + 1)] for _ in range(N + 1)]
distance = [inf] * (N + 1)
for r in road:
s, e, c = r
if graph[s][e] < c:
continue
graph[s][e] = c
graph[e][s] = c
for i in range(N):
graph[i][i] = 0
distance = dijkstra(1, graph, distance)
for item in distance:
if item <= K:
answer += 1
return answer
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.08ms, 10.2MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.05ms, 10.1MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.05ms, 10.4MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.05ms, 10.1MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.01ms, 10.2MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.03ms, 10.4MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.21ms, 10.1MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.16ms, 10.3MB)
ํ
์คํธ 14 ใ ํต๊ณผ (0.30ms, 10.3MB)
ํ
์คํธ 15 ใ ํต๊ณผ (0.41ms, 10.3MB)
ํ
์คํธ 16 ใ ํต๊ณผ (0.12ms, 10.3MB)
ํ
์คํธ 17 ใ ํต๊ณผ (0.25ms, 10.4MB)
ํ
์คํธ 18 ใ ํต๊ณผ (0.71ms, 10.3MB)
ํ
์คํธ 19 ใ ํต๊ณผ (1.05ms, 10.3MB)
ํ
์คํธ 20 ใ ํต๊ณผ (0.76ms, 10.3MB)
ํ
์คํธ 21 ใ ํต๊ณผ (0.96ms, 10.4MB)
ํ
์คํธ 22 ใ ํต๊ณผ (0.42ms, 10.1MB)
ํ
์คํธ 23 ใ ํต๊ณผ (0.65ms, 10.4MB)
ํ
์คํธ 24 ใ ํต๊ณผ (0.49ms, 10.2MB)
ํ
์คํธ 25 ใ ํต๊ณผ (0.70ms, 10.5MB)
ํ
์คํธ 26 ใ ํต๊ณผ (0.62ms, 10.3MB)
ํ
์คํธ 27 ใ ํต๊ณผ (0.60ms, 10.5MB)
ํ
์คํธ 28 ใ ํต๊ณผ (0.66ms, 10.5MB)
ํ
์คํธ 29 ใ ํต๊ณผ (0.66ms, 10.6MB)
ํ
์คํธ 30 ใ ํต๊ณผ (0.60ms, 10.6MB)
ํ
์คํธ 31 ใ ํต๊ณผ (0.33ms, 10.2MB)
ํ
์คํธ 32 ใ ํต๊ณผ (0.35ms, 10MB)
- ์ ์ง ๋ด๊ฐ ๊ตฌํํ ๋ฐฉ์์ด ์ ์ผ ๋น ๋ฅธ ๋ฏ?
- ์ข ๋ ์ต์ ํ ๊ฐ๋ฅํ๋ ค๋?
def solution(N, road, K):
answer = 0
town = [[500001] * (N+1) for i in range(N+1)]
shortest_road = town[0]
delivery_man = [False] * (N+1)
for (s,e,t) in road:
if town[s][e] > t:
town[s][e] = town[e][s] = t
for i in range(N+1): town[i][i] = 0
shortest_road[1] = 0 # ์์ ๋ง์ ์ถ๋ฐ ์๊ฐ ์ธํ
!
delivery_man[1] = True # ๋ฐฐ๋ฌ์ ์ถ๋ฐ!
while sum(delivery_man) > 0: # ๋ฐฐ๋ฌ์์ด ์๋ ๋์ ๋ฃจํ
for rider in range(1, N+1):
if delivery_man[rider] == True:
shortest_road_rider = shortest_road[rider]
for i in range(1, N+1):
if shortest_road[i] != 0:
_time = town[rider][i]
_new_time = shortest_road_rider + _time
if _new_time <= K and _new_time < shortest_road[i]:
shortest_road[i] = _new_time
delivery_man[i] = True
delivery_man[rider] = False
for i in range(1, N+1):
if shortest_road[i] < 500001:
answer += 1
return answer
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.01ms, 10.3MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.01ms, 10.2MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.03ms, 10.3MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.01ms, 10.1MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.01ms, 10.4MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.03ms, 10.2MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.03ms, 10.2MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.12ms, 10.3MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.12ms, 10.4MB)
ํ
์คํธ 14 ใ ํต๊ณผ (0.19ms, 10.2MB)
ํ
์คํธ 15 ใ ํต๊ณผ (0.36ms, 10.4MB)
ํ
์คํธ 16 ใ ํต๊ณผ (0.06ms, 10.4MB)
ํ
์คํธ 17 ใ ํต๊ณผ (0.11ms, 10.4MB)
ํ
์คํธ 18 ใ ํต๊ณผ (0.15ms, 10.1MB)
ํ
์คํธ 19 ใ ํต๊ณผ (0.24ms, 10.3MB)
ํ
์คํธ 20 ใ ํต๊ณผ (0.43ms, 10.4MB)
ํ
์คํธ 21 ใ ํต๊ณผ (0.33ms, 10.4MB)
ํ
์คํธ 22 ใ ํต๊ณผ (0.33ms, 10.2MB)
ํ
์คํธ 23 ใ ํต๊ณผ (0.53ms, 10.5MB)
ํ
์คํธ 24 ใ ํต๊ณผ (0.47ms, 10.3MB)
ํ
์คํธ 25 ใ ํต๊ณผ (0.43ms, 10.4MB)
ํ
์คํธ 26 ใ ํต๊ณผ (0.48ms, 10.4MB)
ํ
์คํธ 27 ใ ํต๊ณผ (0.48ms, 10.5MB)
ํ
์คํธ 28 ใ ํต๊ณผ (0.51ms, 10.5MB)
ํ
์คํธ 29 ใ ํต๊ณผ (0.62ms, 10.5MB)
ํ
์คํธ 30 ใ ํต๊ณผ (0.58ms, 10.3MB)
ํ
์คํธ 31 ใ ํต๊ณผ (0.31ms, 10.4MB)
ํ
์คํธ 32 ใ ํต๊ณผ (0.30ms, 10.2MB)
- ์ด๊ฑฐ ๋ฃ์๊น ๋ง๊น ๊ณ ๋ฏผํ๋๋ฐ...
- if shortest_road[i] != 0:
- ๋บ ๋ฒ์ ์ด ๋ ๋น ๋ฅด๋ค. ์ญ์ ๊ทธ๋ฅ ์กฐ๊ฑด๋ฌธ์ด๋ ๋ฐ๋ณต๋ฌธ์ด๋ ๋นผ์ ์ฝ๋ฉ ๋ผ์ธ ์๋ฅผ ์ค์ด๋ ๊ฒ ๋ ๋น ๋ฅธ ๋ฏ...
๋ฃ์ ๋ฒ์ | ๋บ ๋ฒ์ |
์ ํ์ฑ ํ
์คํธ ํ ์คํธ 1 ใ ํต๊ณผ (0.02ms, 10.3MB) ํ ์คํธ 2 ใ ํต๊ณผ (0.01ms, 10.3MB) ํ ์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.3MB) ํ ์คํธ 4 ใ ํต๊ณผ (0.01ms, 10.2MB) ํ ์คํธ 5 ใ ํต๊ณผ (0.02ms, 10.3MB) ํ ์คํธ 6 ใ ํต๊ณผ (0.02ms, 10.3MB) ํ ์คํธ 7 ใ ํต๊ณผ (0.03ms, 10.3MB) ํ ์คํธ 8 ใ ํต๊ณผ (0.01ms, 10.1MB) ํ ์คํธ 9 ใ ํต๊ณผ (0.01ms, 10.4MB) ํ ์คํธ 10 ใ ํต๊ณผ (0.03ms, 10.2MB) ํ ์คํธ 11 ใ ํต๊ณผ (0.03ms, 10.2MB) ํ ์คํธ 12 ใ ํต๊ณผ (0.12ms, 10.3MB) ํ ์คํธ 13 ใ ํต๊ณผ (0.12ms, 10.4MB) ํ ์คํธ 14 ใ ํต๊ณผ (0.19ms, 10.2MB) ํ ์คํธ 15 ใ ํต๊ณผ (0.36ms, 10.4MB) ํ ์คํธ 16 ใ ํต๊ณผ (0.06ms, 10.4MB) ํ ์คํธ 17 ใ ํต๊ณผ (0.11ms, 10.4MB) ํ ์คํธ 18 ใ ํต๊ณผ (0.15ms, 10.1MB) ํ ์คํธ 19 ใ ํต๊ณผ (0.24ms, 10.3MB) ํ ์คํธ 20 ใ ํต๊ณผ (0.43ms, 10.4MB) ํ ์คํธ 21 ใ ํต๊ณผ (0.33ms, 10.4MB) ํ ์คํธ 22 ใ ํต๊ณผ (0.33ms, 10.2MB) ํ ์คํธ 23 ใ ํต๊ณผ (0.53ms, 10.5MB) ํ ์คํธ 24 ใ ํต๊ณผ (0.47ms, 10.3MB) ํ ์คํธ 25 ใ ํต๊ณผ (0.43ms, 10.4MB) ํ ์คํธ 26 ใ ํต๊ณผ (0.48ms, 10.4MB) ํ ์คํธ 27 ใ ํต๊ณผ (0.48ms, 10.5MB) ํ ์คํธ 28 ใ ํต๊ณผ (0.51ms, 10.5MB) ํ ์คํธ 29 ใ ํต๊ณผ (0.62ms, 10.5MB) ํ ์คํธ 30 ใ ํต๊ณผ (0.58ms, 10.3MB) ํ ์คํธ 31 ใ ํต๊ณผ (0.31ms, 10.4MB) ํ ์คํธ 32 ใ ํต๊ณผ (0.30ms, 10.2MB) |
์ ํ์ฑ ํ
์คํธ ํ ์คํธ 1 ใ ํต๊ณผ (0.02ms, 10.3MB) ํ ์คํธ 2 ใ ํต๊ณผ (0.01ms, 10.3MB) ํ ์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.3MB) ํ ์คํธ 4 ใ ํต๊ณผ (0.01ms, 10.4MB) ํ ์คํธ 5 ใ ํต๊ณผ (0.03ms, 10.3MB) ํ ์คํธ 6 ใ ํต๊ณผ (0.02ms, 10.4MB) ํ ์คํธ 7 ใ ํต๊ณผ (0.02ms, 10.4MB) ํ ์คํธ 8 ใ ํต๊ณผ (0.01ms, 10.3MB) ํ ์คํธ 9 ใ ํต๊ณผ (0.01ms, 10.4MB) ํ ์คํธ 10 ใ ํต๊ณผ (0.03ms, 10.3MB) ํ ์คํธ 11 ใ ํต๊ณผ (0.04ms, 10.3MB) ํ ์คํธ 12 ใ ํต๊ณผ (0.18ms, 10.3MB) ํ ์คํธ 13 ใ ํต๊ณผ (0.18ms, 10.2MB) ํ ์คํธ 14 ใ ํต๊ณผ (0.18ms, 10.2MB) ํ ์คํธ 15 ใ ํต๊ณผ (0.63ms, 10.2MB) ํ ์คํธ 16 ใ ํต๊ณผ (0.05ms, 10.4MB) ํ ์คํธ 17 ใ ํต๊ณผ (0.09ms, 10.4MB) ํ ์คํธ 18 ใ ํต๊ณผ (0.13ms, 10.4MB) ํ ์คํธ 19 ใ ํต๊ณผ (0.23ms, 10.3MB) ํ ์คํธ 20 ใ ํต๊ณผ (0.19ms, 10.4MB) ํ ์คํธ 21 ใ ํต๊ณผ (0.34ms, 10.3MB) ํ ์คํธ 22 ใ ํต๊ณผ (0.27ms, 10.2MB) ํ ์คํธ 23 ใ ํต๊ณผ (0.58ms, 10.4MB) ํ ์คํธ 24 ใ ํต๊ณผ (0.40ms, 10.3MB) ํ ์คํธ 25 ใ ํต๊ณผ (0.39ms, 10.4MB) ํ ์คํธ 26 ใ ํต๊ณผ (0.43ms, 10.6MB) ํ ์คํธ 27 ใ ํต๊ณผ (0.42ms, 10.3MB) ํ ์คํธ 28 ใ ํต๊ณผ (0.45ms, 10.6MB) ํ ์คํธ 29 ใ ํต๊ณผ (0.53ms, 10.4MB) ํ ์คํธ 30 ใ ํต๊ณผ (0.44ms, 10.5MB) ํ ์คํธ 31 ใ ํต๊ณผ (0.24ms, 10.3MB) ํ ์คํธ 32 ใ ํต๊ณผ (0.25ms, 10.2MB) |
์ค๋์ ํ๋ฐฉ์ ์ฑ๊ณตํด์ ๊ธฐ๋ถ์ด ๋ ์๊ฐ ๊ฒ ๊ฐ๋ค.
'๊ฒ์ ํ๋ก๊ทธ๋๋ฐ > Python ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ๋กค์ผ์ดํฌ ์๋ฅด๊ธฐ (0) | 2023.02.18 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ๋ชจ์์ฌ์ (0) | 2023.02.18 |
ํ๋ก๊ทธ๋๋จธ์ค ์ซ์ ๋ธ๋ก (1) | 2023.02.18 |
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฐ๋จน๊ธฐ (0) | 2023.02.17 |
ํผ๋ณด๋์น ์์ด์ ์ผ๋ฐํญ (0) | 2023.02.17 |