-
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
https://github.com/JUNGSOONIL/JAVA/blob/main/SW%EF%BB%BFAcademy%201953
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 map가 주어졌을 때 시작점부터 시간이 흐른 후 방문할 수 있는 곳 개수를
구하는 문제다.
다만 이동 가능한 경우가 파이프로 나타나고 추가적으로 조건을 둬야 하는 부분을
잘 체크해야 한다.
문제는 그냥 bfs를 이용해서 풀 수 있는 문제고 다만 생각해야 하는 부분이
파이프 종류마다 갈 수 있는 방향이 있는데
해당 부분은 2차원 배열을 통해 1부터 7까지 이동 가능한 방향을 나타내 주었고
여기서 또 체크할 부분이 있는데 만약 다음 방향으로 이동했는데
해당 방향에 파이프는 존재하지만 연결이 안 되어있을 경우를 체크해 주어야 한다.
위로 갈 때는 3,4,7 파이프가 존재하면 갈수 없고,
아래로 갈 때는 3,5,6 왼쪽은 2,6,7, 오른쪽은 2,4,5 해당 부분을
잘 파악해서 문제를 풀면 쉽게 해결 가능하고
멈추는 부분은 bfs 기 때문에 시간 값을 큐에서 빼온 값 +1씩 넘겨주면서 해당 값이
원하는 시간과 동일해지면 멈추는 방식으로 했다.
728x90'알고리즘 > SW Academy' 카테고리의 다른 글
SW Academy 6026 성수의 비밀번호 공격 JAVA (0) 2021.11.03 SW Academy 4013 특이한 자석 JAVA (0) 2021.11.03 SW Academy 1249 보급로 JAVA (0) 2021.11.03 SW Academy 5643 키 순서 JAVA (0) 2021.11.03 SW Academy 5604 구간 합 JAVA (0) 2021.11.03 댓글