Tags
- ๊ทธ๋ํ ์ด๋ก
- ๊ทธ๋ํ ํ์
- Study
- ๊ตฌํ
- SpringBoot
- ์ ์๋ก
- ์ํ
- stack
- ๊น์ด ์ฐ์ ํ์
- ์๋ฎฌ๋ ์ด์
- CodingTest
- ๊ต์ฌ
- Dynamic Programming
- queue
- BFS
- sort
- LV2
- BOJ
- ๋ฐฑํธ๋ํน
- Brute Force Algorithm
- Python
- PGM
- greedy
- ๋๋น ์ฐ์ ํ์
- dfs
- ๋ฌธ์์ด
- ์๋ฃ๊ตฌ์กฐ
- ์ ๋ ฌ
- Java
- DP
Archives
๊ธฐ๋ก๋ฐฉ
Lv.1 : ๊ณต์ ์ฐ์ฑ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋ก๋ด, ๊ธธ, ์ฅ์ ๋ฌผ์ ์ ๋ณด๊ฐ ๋ด๊ธด ๋งต ์ ๋ณด์ ๋ก๋ด์ ์ด๋ ๋ช
๋ น์ด ์ฃผ์ด์ง๋ค.
- ์ฐจ๋ก๋ก ๋ช ๋ น์ ์ํํด ๋ก๋ด์ ์ด๋์ํจ๋ค.
- ๋ช ๋ น์ ์ํํ์ ๋, ๋ก๋ด์ด ๋งต์ ๋ฒ์ด๋๊ฑฐ๋, ์ฅ์ ๋ฌผ์ ๊ฑธ๋ฆฐ๋ค๋ฉด ๊ทธ ๋ช ๋ น์ ๋ฌด์ํ๋ค.
- ์ต์ข ๋ก๋ด ์์น๋ฅผ ๋ฐํํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.HashMap;
import java.util.StringTokenizer;
class Solution {
public int[] solution(String[] park, String[] routes) {
int R = park.length;
int C = park[0].length();
char[][] map = new char[R][C];
int r = 0, c = 0;
for(int i = 0; i < R; i++) {
for(int j = 0; j < C; j++) {
char ch = park[i].charAt(j);
if(ch == 'S') {
r = i;
c = j;
map[i][j] = 'O';
} else {
map[i][j] = ch;
}
}
}
int[] dx = {-1,0,1,0};
int[] dy = {0,1,0,-1};
HashMap<String, Integer> route = new HashMap<>();
route.put("N", 0);
route.put("E", 1);
route.put("S", 2);
route.put("W", 3);
for(String s : routes) {
StringTokenizer st = new StringTokenizer(s);
int d = route.get(st.nextToken());
int len = Integer.parseInt(st.nextToken());
int x = r;
int y = c;
boolean flag = true;
for(int i = 0; i < len; i++) {
x += dx[d];
y += dy[d];
if(x < 0 || x >= R || y < 0 || y >= C || map[x][y] == 'X') {
flag = false;
break;
}
}
if(flag) {
r = x;
c = y;
}
}
return new int[] {r, c};
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ๋งต ์ ๋ณด๋ฅผ 2์ฐจ์ char ๋ฐฐ์ด map์ ์ ์ฅํ๋ค.
- N, E, S, W ์ ๋ฐ๋ฅธ 4 ๋ฐฉํฅ์ HashMap์ผ๋ก ์ธ๋ฑ์คํ ์ํจ๋ค.
- dx, dy๋ฅผ ํตํด ๋ธํ ๋ฐฉํฅ ์ ํ์ ์ฌ์ฉํ๋ค.
- ๋ช ๋ น์ ์ํํ๋ฉฐ ์ฅ์ ๋ฌผ์ ๊ฑธ๋ฆฌ๊ฑฐ๋ ๋งต์ ๋ฒ์ด๋๋ฉด ๊ทธ ๋ช ๋ น์ ์ทจ์ํ๊ณ , ๊ทธ๋ ์ง ์๋ค๋ฉด ์์น๋ฅผ ์ด๋์ํจ๋ค.
- ์ต์ข ์์น๋ฅผ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- 4๋ฐฉํฅ์ด N, E, S, W๋ก ์ฃผ์ด์ ธ์ 4๋ฐฉํฅ ๋ธํ ์ธ๋ฑ์ค ๋ณํ์ ์ด๋ป๊ฒ ํ ์ง ๊ณ ๋ฏผํ๋ค Map์ ์ด์ฉํด ๋ดค๋ค.
- ๋ค๋ฅธ ๋ฉ์๋๋ฅผ ๋ง๋ค์ง ์์ผ๋ ค๊ณ ํ ๊ฒ์ธ๋ฐ, ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ ๋ฉ์๋๋ฅผ ๋ง๋ค๊ณ if-else๋ switch-case๋ก ๋ง๋ค์ด์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํด์ฃผ๋ ์ฝ๋๋ ๊น๋ํ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1043 : ๊ฑฐ์ง๋ง (0) | 2023.06.09 |
---|---|
BOJ_1149 : RGB๊ฑฐ๋ฆฌ (0) | 2023.06.08 |
Lv.1 : ์ถ์ต ์ ์ (0) | 2023.04.25 |
Lv.1 : ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ (0) | 2023.04.25 |
BOJ_2252 : ์ค ์ธ์ฐ๊ธฐ (0) | 2023.04.22 |