Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- docker-compose kafka
- prod docker-compose
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- ๋ค์ค ์ปจํ ์ด๋
- AWS Certified Solutions Architect - Associate
- aws ์ฟ ํฐ
- ์๋ฐ
- docker compose
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- Entity
- s3 log ์ ์ฅ
- docker ps -a
- private subnet ec2 ๋ก์ปฌ ์ ์
- Codedeploy ์ค๋ฅ
- Kafka
- JPA
- redis ํ ์คํธ์ฝ๋
- ์คํํ๋ ๋ฏธ์ค
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- docker
- redis ์กฐํ
- nGrinder
- aws saa ํฉ๊ฒฉ
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- jvm ๋ฐ๋ฐ๋ฅ๊น์ง ํํค์น๊ธฐ
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ์ดํผ๋ฐ์ด์
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
Archives
- Today
- Total
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
[Python] ๋ฐฑ์ค 2206 & ๋ฐฑ์ค 1697 ๋ณธ๋ฌธ
๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/[๐๐ฒ๐ญ๐ก๐จ๐ง] ๐๐ฅ๐ ๐จ๐ซ๐ข๐ญ๐ก๐ฆ
[Python] ๋ฐฑ์ค 2206 & ๋ฐฑ์ค 1697
๐คRyusun๐ค 2023. 6. 1. 21:41# ๋ฐฑ์ค 2206
from collections import deque
n, m = map(int, input().split(' '))
graph = []
for _ in range(n):
graph.append(list(map(int, input())))
visited = [[[0] * 2 for _ in range(m)] for _ in range(n)]
d_row = [0, -1, 0, +1]
d_col = [+1, 0, -1, 0]
def bfs():
queue = deque()
queue.append([0,0,0])
visited[0][0][0] = 1
# w = 0์ด๋ฉด ๋ฒฝ์ ๋ซ์ง ์๊ณ ๊ฐ ๊ฒฝ์ฐ, w = 1์ด๋ฉด ๋ฒฝ์ ๋ซ๊ณ ๊ฐ ๊ฒฝ์ฐ
while queue:
x,y,w = queue.popleft()
if x == n-1 and y == m-1:
return visited[x][y][w]
for i in range(4):
nx, ny = x+d_row[i], y+d_col[i]
if nx < 0 or ny< 0 or nx> n-1 or ny > m-1:
continue
# ๋ค์ ์์น๊ฐ 0์ด๊ณ , ์์ง ๋ฐฉ๋ฌธํ์ง ์์๋ค๋ฉด(๋ฐฉ๋ฌธํ์ผ๋ฉด 1)
if graph[nx][ny] == 0 and visited[nx][ny][w] == 0:
visited[nx][ny][w] = visited[x][y][w] + 1
queue.append([nx,ny,w])
# ๋ค์ ์์น๊ฐ ๋ฒฝ์ด๊ณ , ๋ฒฝ์ ์์ง ๋ถ์์ง ์์๋ค๋ฉด(w == 0)
elif graph[nx][ny] == 1 and w == 0:
visited[nx][ny][w+1] = visited[x][y][w] + 1 # visited +1์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๊ฑฐ, w+1 ์ ๋ฒฝ์ ๋ถ์
จ๋ค๋ ์๋ฏธ
queue.append([nx,ny,w+1])
return -1
print(bfs())
# ๋ฐฑ์ค 1697
import sys
from collections import deque
def bfs():
q = deque()
q.append(n)
while q:
x = q.popleft()
if x == k:
return visited[x]
for nx in (x * 2, x + 1, x - 1):
if 0 <= nx <= 100001 and not visited[nx]:
visited[nx] = visited[x] + 1
q.append(nx)
n, k = map(int, sys.stdin.readline().split())
visited = [0 for i in range(100001)]
print(bfs())
๐ Points
3์ฐจ์ vistied ๊ทธ๋ํ ์ฌ์ฉํ์
'๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป > [๐๐ฒ๐ญ๐ก๐จ๐ง] ๐๐ฅ๐ ๐จ๐ซ๐ข๐ญ๐ก๐ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฐฑ์ค 1966 & ํ๋ก๊ทธ๋๋จธ์ค ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2023.06.03 |
---|---|
[Python] ๋ฐฑ์ค 7576 & ๋ฐฑ์ค 14502 (0) | 2023.06.02 |
[Python] ๋ฐฑ์ค 2606 & ๋ฐฑ์ค 1201 (0) | 2023.05.28 |
[Python] ๋ฐฑ์ค 1201 & ๋ฐฑ์ค 1158 (0) | 2023.05.27 |
[Python] ๋ฐํฌ(deque) (0) | 2023.04.22 |