프로그래머스 L1 - 공원 산책
2024. 3. 23. 18:10ㆍ알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/172928
직관적으로 문제를 읽고 풀면 되지만 알 수 없는 테스트 케이스 실패로 정말 오랜 시간이 걸린 문제이다...
방향 벡터를 활용해서 풀면 쉽게 해결할 수 있다.
function solution(park, routes) {
const n = park.length;
const m = park[0].length;
let start;
for(let i = 0; i<n; i++){
for(let j = 0; j<m; j++){
if(park[i][j]==='S') start = [i,j];
}
}
const directions = {
E:[0,1],
W:[0,-1],
S:[1,0],
N:[-1,0],
};
for(const route of routes){
const [dir, distanceStr] = route.split(" ");
let distance = Number(distanceStr);
let [ny, nx] = start;
let step = 0;
while(step<distance){
ny += directions[dir][0];
nx += directions[dir][1];
if(nx<0||nx>=m||ny<0||ny>=n||park[ny][nx]==='X') break;
step++;
}
if(step===distance) start = [ny, nx];
}
return start;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 L1 - 숫자 문자열과 영단어 (0) | 2024.03.24 |
---|---|
프로그래머스 L1 - 성격 유형 검사하기 (0) | 2024.03.23 |
프로그래머스 L1 - 문자열 나누기 (0) | 2024.03.21 |
프로그래머스 L1 - 덧칠하기 (0) | 2024.03.20 |
프로그래머스 L1 - 달리기 경주 (0) | 2024.03.19 |