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
- android compose orbit
- 코틀린 에러 핸들링
- android orbit
- AAC ViewModel
- 스레드 vs 코루틴
- Android Compose
- runCatching
- power menu
- 안드로이드 컴포즈
- RecyclerView Sticky Header
- power menu 라이브러리
- Unsupported metadata version. Check that your Kotlin version is >= 1.0: java.lang.IllegalStateException
- Coroutine
- 힐트
- 백준 2615
- 안드로이드 무한 스크롤
- Android Compose Navigation
- 코루틴 공식문서
- 안드로이드 커스텀 뷰
- Sticky Header RecyclerView
- BOJ
- viewmodel
- Android Custom View
- Kotlin Serialization
- Hilt 에러
- 코루틴
- 코루틴 공식 문서
- hilt
- 백준
- Thread vs Coroutine
Archives
- Today
- Total
Beeeam
[BOJ] 백준 16173 점프왕 쩰리 python 본문
문제
16173번: 점프왕 쩰리 (Small)
쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다.
www.acmicpc.net
풀이
쩰리는 아래, 오른쪽 방향으로만 이동이 가능하다. 그래서 dx, dy 리스트에 아래, 오른쪽 방향으로만 갈 수 있게 했다. 그리고 bfs함수 안에 들어가서 for문을 돌면서 아래, 오른쪽 방향의 값을 확인하고 이동 가능하면 이동하여 해당 위치에서 bfs함수를 실행한다.
그리고 도착지에 도착하면 "HaruHaru" 를 출력하고 프로그램을 종료하게 하였다. 그럼 도착지에 도착하지 못하면 bfs 함수를 벗어나게 되는데 이 때 "Hing"을 출력하게 해서 풀었다.
코드
import sys
sys.setrecursionlimit(10000)
def bfs(x, y):
global ans
dx = []
dy = []
# 위치 이동을 위한 리스트 생성 (아래, 오른쪽 순서)
dx.append(graph[x][y])
dx.append(0)
dy.append(0)
dy.append(graph[x][y])
for i in range(2):
nx, ny = x + dx[i], y + dy[i]
if 0 <= nx < N and 0 <= ny < N: # 범위를 벗어나지 않는다면
if graph[nx][ny] == -1: # 만약 도착지에 도착한다면 "HaruHaru"를 출력하고 종료를 한다.
print("HaruHaru")
exit()
if graph[nx][ny] == 0: # 만약 값이 0이면 이동이 아예 불가하므로 뒤로 돌아간다.
break
bfs(nx, ny)
N = int(input())
graph = [list(map(int, input().split())) for _ in range(N)]
ans = 0
bfs(0, 0)
print("Hing") # 도착지에 도착하지 못했을 경우에 나오게 되므로 "Hing"을 출력한다.
'BOJ' 카테고리의 다른 글
[BOJ] 백준 2615 오목 Python (1) | 2023.03.03 |
---|---|
[BOJ] 백준 1094 막대기 Kotlin (0) | 2023.02.28 |
[BOJ] 백준 2108 통계학 python (0) | 2023.02.21 |
[BOJ] 백준 3085 사탕게임 python (0) | 2023.02.11 |
[BOJ] 백준 2667 단지번호 붙이기 python (0) | 2023.01.28 |