티스토리 뷰
BFS로 풀이했습니다.
코드가 올라가 있는 github 주소입니다.
코드가 궁금하시다면 위 github 주소를 눌러주세요!
이번 문제는 프로그래머스 감을 익히고자 IDE이 아닌 프로그래머스 자체에서 풀었는데, 익숙하지 않았습니다.
연습이 더 필요할 것 같아요..
놓치지 말아야 할 것
이번 문제의 핵심은 이동 중 장애물을 만나는지에 대한 확인입니다.
저는 주어지는 값이 크지 않아서 하나씩 움직이면서 비교해주었습니다.
private boolean check(int[] c) {
return parkBoard[c[1]][c[0]] == 'X';
}
private int[] moving(int[] position, String direct, int move) {
int[] movedPosition = new int[]{position[0], position[1]};
if(direct.equals("N")) {
for(int i =0;i<move;i++) {
movedPosition[0] -= 1;
if(movedPosition[0] < 0) {
return position;
}
if(check(movedPosition)) {
return position;
}
}
} else if(direct.equals("S")) {
for(int i =0;i<move;i++) {
movedPosition[0] += 1;
if(movedPosition[0] >= maxX) {
return position;
}
if(check(movedPosition)) {
return position;
}
}
} else if(direct.equals("W")) {
for(int i =0;i<move;i++) {
movedPosition[1] -= 1;
if(movedPosition[1] <0) {
return position;
}
if(check(movedPosition)) {
return position;
}
}
} else {
for(int i =0;i<move;i++) {
movedPosition[1] += 1;
if(movedPosition[1] >= maxX) {
return position;
}
if(check(movedPosition)) {
return position;
}
}
}
return movedPosition;
}
마무리
아쉬운 점은 x, y 좌표 정하는 것이 조금 헷갈려서 시간을 많이 소요한 점이었습니다.
실제 시험에서는 이 점 놓치지 않아야겠습니다!!
'알고리즘 > Programmers' 카테고리의 다른 글
178871 달리기 경주(level 1) - 구현 java (0) | 2023.05.16 |
---|---|
176963 추억 점수(level 1) - 구현 java (0) | 2023.05.15 |
169199 리코쳇 로봇(level 2) - BFS java (0) | 2023.03.21 |
2020 카카오 인턴십 수식 최대화 level 2 - java (0) | 2022.02.20 |
2019 카카오 겨울 인턴십 튜플 level 2 - java (0) | 2022.02.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이펙티브 자바
- Effective Java
- 클린 아키텍처
- MSA
- BOJ
- Spring
- 알고리즘
- 클린 코드
- 디자인 패턴
- Spring Boot
- node.js
- Algorithm
- 디자인패턴
- C++
- Java
- Kotlin
- BAEKJOON
- kotest
- JPA
- 코테
- 정규표현식
- 프로그래머스
- 백준
- 객체지향
- Olympiad
- kkoon9
- 테라폼
- 이팩티브 자바
- programmers
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함