티스토리 뷰
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제풀이
16x16 행렬의 형태로 만들어진 미로에서 출발점으로부터 도착지점까지 갈 수 있는 길이 있는지 판단하는 문제다.
흰색 바탕은 길, 노란색 바탕은 벽이다.
입력받을 때는 1은 벽을 나타내며 0은 길, 2는 출발점, 3은 도착점을 나타낸다.


BFS를 통해서 출발점에서 도착점에 도달할 수 있는지 확인할 수 있다.
각 칸에서 상, 하, 좌, 우 인접한 방향으로 이동할 수 있으며 길인 칸으로만 갈 수 있다.
한 번 방문했던 칸으로는 다시 갈 수 없다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
char map[16][16]; | |
bool visited[16][16]; | |
int dx[] = { -1, 1, 0, 0 }; | |
int dy[] = { 0, 0, -1, 1 }; | |
for (int i = 0; i < 4; i++) { | |
int nx = x + dx[i]; | |
int ny = y + dy[i]; | |
// 벽이 아닌 곳으로 이동한다 | |
if (map[nx][ny] != '1' && !visited[nx][ny]) { | |
visited[nx][ny] = true; | |
q.push({ nx, ny }); | |
} | |
} |
코드
C++ 코드
Java 코드
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA 1231] 중위순회 C++/Java (0) | 2021.08.02 |
---|---|
[SWEA 1238] Contact C++ (2) | 2021.07.29 |
[SWEA 1225] 암호생성기 C++/Java (0) | 2021.07.29 |
[SWEA 1224] 계산기3 C++ (0) | 2021.07.28 |
[SWEA 1267] 작업순서 C++ (0) | 2021.07.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이분 탐색
- 백준
- Two Pointer
- 배열
- 트리
- 구현
- 두 포인터
- Java
- 자바
- BFS
- SW Expert Academy
- programmers
- 큐
- SWEA
- 브루트포스
- 프로그래머스
- 정렬
- 그래프
- 분할 정복
- 문자열
- dfs
- 위상 정렬
- C++
- 스택
- 투 포인터
- BOJ
- Kotlin
- 알고리즘
- algorithm
- 재귀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함