Tags
- queue
- ๋ฌธ์์ด
- ์ํ
- ๊ทธ๋ํ ํ์
- ์๋ฎฌ๋ ์ด์
- DP
- ๊น์ด ์ฐ์ ํ์
- LV2
- dfs
- stack
- PGM
- Brute Force Algorithm
- Study
- SpringBoot
- Python
- BFS
- sort
- CodingTest
- BOJ
- ๊ทธ๋ํ ์ด๋ก
- ๋ฐฑํธ๋ํน
- Java
- ์ ์๋ก
- ๊ต์ฌ
- ๊ตฌํ
- ๋๋น ์ฐ์ ํ์
- ์๋ฃ๊ตฌ์กฐ
- Dynamic Programming
- greedy
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1063 : ํน ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 8 x 8 ์ฒด์คํ์ ํน๊ณผ ๋์ด ๋์ฌ์๋ค.
- ํน์ 8๋ฐฉํฅ์ผ๋ก ์์ง์ ์ ์๋๋ฐ, ๋์ด ์๋ ์๋ฆฌ๋ฉด ๋์ ํน์ ์์ง์๊ณผ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ๋ฏผ๋ค.
- ํน ํน์ ๋์ด ์ฒด์คํ์ ๋ฒ์ด๋๋ ์์ง์์ด๋ผ๋ฉด ๋์ด๊ฐ๊ณ ๋ค์ ๋์์ ์ํํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] dx = {0, 0, 1, -1, -1, -1, 1, 1};
int[] dy = {1, -1, 0, 0, 1, -1, 1, -1};
String[] orders = {"R", "L", "B", "T", "RT", "LT", "RB", "LB"};
String kingStart = sc.next();
String stoneStart = sc.next();
int n = sc.nextInt();
int kx = 8 - (kingStart.charAt(1) - '0');
int ky = kingStart.charAt(0) - 'A';
int sx = 8 - (stoneStart.charAt(1) - '0');
int sy = stoneStart.charAt(0) - 'A';
for (int i = 0; i < n; i++) {
String order = sc.next();
int onum = -1;
for (int j = 0; j < 8; j++) {
if (order.equals(orders[j])) {
onum = j;
break;
}
}
if (kx + dx[onum] >= 0 && kx + dx[onum] <= 7 && ky + dy[onum] >= 0 && ky + dy[onum] <= 7) {
if (kx + dx[onum] == sx && ky + dy[onum] == sy) {
if (sx + dx[onum] >= 0 && sx + dx[onum] <= 7 && sy + dy[onum] >= 0 && sy + dy[onum] <= 7) {
kx += dx[onum];
ky += dy[onum];
sx += dx[onum];
sy += dy[onum];
}
}
else {
kx += dx[onum];
ky += dy[onum];
}
}
}
System.out.println(String.format("%c%d\n%c%d", (char) (ky + 'A'), 8 - kx, (char) (sy + 'A'), 8 - sx));
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- 8๋ฐฉํฅ ์์ง์์ ๊ตฌํํ๊ธฐ ์ํด orders, dx, dy ๋ฐฐ์ด์ ์ฌ์ฉํ๋ค.
- orders๋ก ์์ง์ ๋ช ๋ น์ ๋ฒํธ๋ฅผ dx, dy ๋ฐฐ์ด์ ์ธ๋ฑ์ค(onum)๋ก ๋ณํํด ์ฌ์ฉํ๋ค.
- ํน๊ณผ ๋์ ์ขํ๋ ๋ฐฐ์ด ์ธ๋ฑ์ค์ ๋ง๊ฒ ๋ณํํ๋ค.
- n๊ฐ์ ๋ช
๋ น์ ๊ท์น์ ๋ง๊ฒ ์ํํ๋ค.
- ๋ช
๋ น์ ๋ฐ๋์๋ ํน์ด ์ฒด์คํ์ ๋ฒ์ด๋์ง ์๋์ง ํ์ธํ๋ค.
- ํน์ด ์์ง์ด๋ ์๋ฆฌ์ ๋์ด ์๋ค๋ฉด, ํน์ด ๊ทธ ์๋ฆฌ๋ก ์์ง์ธ๋ค.
- ํน์ด ์์ง์ด๋ ์๋ฆฌ์ ๋์ด ์๋ค๋ฉด, ๋ค์ ๋์ ์์ง์์๋ ์ฒด์คํ์ ๋ฒ์ด๋๋์ง ํ์ธํ๋ค.
- ์ฒด์คํ์ ๋ฒ์ด๋๋ค๋ฉด ์์ง์์ ์ํํ์ง ์๋๋ค.
- ์ฒด์คํ์ ๋ฒ์ด๋์ง ์๋๋ค๋ฉด, ๋๊ณผ ํน ๋ชจ๋ ์์ง์ธ๋ค.
- ๋ช
๋ น์ ๋ฐ๋์๋ ํน์ด ์ฒด์คํ์ ๋ฒ์ด๋์ง ์๋์ง ํ์ธํ๋ค.
- ํน๊ณผ ๋์ ์ขํ๋ฅผ ๋ณํํด ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์ด๋ ์์น์ ์๋ ํน๊ณผ ๋์ด ํจ๊ป ์์ง์ด๋๊ฑด ์ค ์์๋๋ฐ, ๊ฒน์น ๋๋ง ๋์ ๋ฏธ๋ ๊ฒ์ด์ด์ ์ข ํค๋งธ๋ค.
- ๋ค์๋ณด๋ ํน๊ณผ ๋์ ์ขํ๋ฅผ ๊ผญ ๋ฐฐ์ด ์ธ๋ฑ์ค์ฒ๋ผ ์ผ์ชฝ์๊ฐ 0,0์ด ๋๋๋ก ๋ณํํ ํ์๋ ์๋ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1166 : ์ ๋ฌผ (0) | 2023.01.06 |
---|---|
BOJ_1072 : ๊ฒ์ (0) | 2023.01.04 |
BOJ_1057 : ํ ๋๋จผํธ (0) | 2023.01.01 |
BOJ_1004 : ์ด๋ฆฐ ์์ (0) | 2022.12.31 |
BOJ_1205 : ๋ฑ์ ๊ตฌํ๊ธฐ (0) | 2022.12.30 |