구현 문제
문제링크
풀이 접근
- 나와있는 문제대로 그대로 구현만 하면 되는 문제
- 단순 구현문제이지만 막상 안해보면 풀기 어려움
구현 코드
class Solution {
public int[] solution(String[] park, String[] routes) {
int sx = 0;
int sy = 0;
char[][] arr = new char[park.length][park[0].length()];
for(int i = 0; i < park.length; i++){
arr[i] = park[i].toCharArray();
if(park[i].contains("S")){
sy = i;
sx = park[i].indexOf("S");
}
}
for(String st : routes){
String way = st.split(" ")[0];
int len = Integer.parseInt(st.split(" ")[1]);
int nx = sx;
int ny = sy;
for(int i = 0; i < len; i++){
if(way.equals("E")){
nx++;
}
if(way.equals("W")){
nx--;
}
if(way.equals("S")){
ny++;
}
if(way.equals("N")){
ny--;
}
if(nx >=0 && ny >=0 && ny < arr.length && nx < arr[0].length){
if(arr[ny][nx] == 'X'){
break;
}
// 범위내 & 장애물 x
if(i == len-1){
sx = nx;
sy = ny;
}
}
}
}
int[] answer = {sy, sx};
return answer;
}
}
정리
- 구현 문제가 생각보다 어려운데 자바에서 사용하는 기능을 최대한 머리 굴려서 잘 사용해야한다.
댓글남기기