μκ°μ ν
1μ΄
λ¬Έμ
ν볡 μκ΅μ μμ€ μ μμ 체μ€νκ³Ό κ°μ 8 X 8 μ’ν νλ©΄μ΄λ€.
μμ€ μ μμ νΉμ ν ν μΉΈμ λμ΄νΈκ° μ μλ€.
λμ΄νΈλ λ§€μ° μΆ©μ±μ€λ¬μ΄ μ νλ‘μ λ§€μΌ λ¬΄μ μ μ°λ§νλ€.
λμ΄νΈλ λ§μ νκ³ μκΈ° λλ¬Έμ μ΄λμ ν λλ Lμ ννλ‘λ§ μ΄λν μ μμΌλ©° μ μ λ°μΌλ‘λ λκ° μ μλ€.
λμ΄νΈλ νΉμ ν μμΉμμ λ€μκ³Ό κ°μ 2κ°μ§ κ²½μ°λ‘ μ΄λν μ μλ€.
1. μνμΌλ‘ λ μΉΈ μ΄λν λ€μ μμ§μΌλ‘ ν μΉΈ μ΄λνκΈ°
2. μμ§μΌλ‘ λ μΉΈ μ΄λν λ€μ μνμΌλ‘ ν μΉΈ μ΄λνκΈ°
μ΄μ²λΌ 8 X 8 μ’ν νλ©΄μμμ λμ΄νΈμ μμΉκ° μ£Όμ΄μ‘μ λ λμ΄νΈκ° μ΄λν μ μλ κ²½μ°μ μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ΄λ μμ€μ μ μμμ ν μμΉλ₯Ό ννν λλ 1λΆν° 8λ‘ νννλ©°, μ΄ μμΉλ₯Ό ννν λλ aλΆν° hλ‘ νννλ€.
μ λ ₯
첫째 μ€μ 8 x 8 μ’ν νλ©΄μμμ νμ¬ λμ΄νΈκ° μμΉν κ³³μ μ’νλ₯Ό λνλ΄λ λ λ¬Έμλ‘ κ΅¬μ±λ λ¬Έμμ΄μ΄ μ
λ ₯λλ€.
μ
λ ₯ λ¬Έμλ a1μ²λΌ μ΄κ³Ό νμΌλ‘ μ΄λ€μ§λ€.
μ λ ₯ μμ
a1
μΆλ ₯
첫째 μ€μ λμ΄νΈκ° μ΄λν μ μλ κ²½μ°μ μλ₯Ό μΆλ ₯νμ¬μ€.
μΆλ ₯ μμ
2
λ¬Έμ νμ΄ κ³Όμ
μ λ ₯ κ° λΆλ¦¬ν ν μ«μλ‘ λ³ννκΈ°
μ λ ₯ κ°μ νμμ a1μΌλ‘ μ΄ + νμ λ¬Έμλ‘ μ΄λ£¨μ΄μ Έ μλ€.
1. μ΄κ³Ό νμ λΆλ¦¬νλ€.
μ΄κ³Ό νμ μ΄ν΄λ³΄λ©΄ λͺ¨λ νμ리 μμ΄λ―λ‘ charAt()μ μ¬μ©νμ¬ λΆλ¦¬νλ€.
char column = input.charAt(0); // 'a'
char row = input.charAt(1); // '1'
2. κ³μ°νκΈ° νΈνλλ‘ μ΄κ³Ό νμ μ«μλ‘ λ°κΎΌλ€.
- μ΄μ κ²½μ°
λ¬Έμ a, b, c, d, e, f, g, hλ₯Ό μ«μ 1, 2, 3, 4, 5, 6, 7, 8λ‘ λ°κΎΌλ€.
int column = input.charAt(0) - 'a' + 1;
- νμ κ²½μ°
λ¬Έμ 1, 2, 3, 4, 5, 6, 7, 8μ μ«μ 1, 2, 3, 4, 5, 6, 7, 8λ‘ λ°κΎΌλ€.
int row = input.charAt(1) - '0';
λμ΄νΈκ° μ΄λν μ μλ κ²½λ‘ μ΄ν΄λ³΄κΈ°
1. μνμΌλ‘ λ μΉΈ μ΄λν λ€μ μμ§μΌλ‘ ν μΉΈ μ΄λνκΈ°
2. μμ§μΌλ‘ λ μΉΈ μ΄λν λ€μ μνμΌλ‘ ν μΉΈ μ΄λνκΈ°
μν(μ΄)μΌλ‘ λ μΉΈ μ΄λ: col - 2, col + 2
μμ§(ν)μΌλ‘ ν μΉΈ μ΄λ: row - 1, row + 1
=> (col - 2, row - 1), (col - 2, row + 1), (col + 2, row - 1), (col + 2, row + 1)
μμ§(ν)μΌλ‘ λ μΉΈ μ΄λ: row - 2, row + 2
μν(μ΄)μΌλ‘ ν μΉΈ μ΄λ: col - 1, col + 1
=> (row - 2, col - 1), (row - 2, col + 1), (row + 2, col - 1), (row + 2, col + 1)
λμ΄νΈκ° μ΄λν μ μλ κ²½λ‘: μ΄ 8κ°μ§
ν΄λΉ κ²½λ‘λ₯Ό dx, dyμ ννλ‘ νννμ¬ κ³μ°νλ€.
int[] dx = {-1, 1, -1, 1, -2, -2, 2, 2};
int[] dy = {-2, -2, 2, 2, -1, 1, -1, 1};
for (int i = 0; i < dx.length; i++) {
int nextRow = row + dx[i];
int nextColumn = column + dy[i];
}
λμ΄νΈκ° μ μ λ°μΌλ‘ λκ°λ κ²½μ°λ μ΄λν μ μλ€.
for (int i = 0; i < dx.length; i++) {
int nextRow = row + dx[i];
int nextColumn = column + dy[i];
if (nextRow < 1 || nextRow > 8 || nextColumn < 1 || nextColumn > 8)
continue;
count++;
}
ꡬν μ½λ
public class TC_4_1 {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
int column = input.charAt(0) - 'a' + 1;
int row = input.charAt(1) - '0';
int count = 0;
int[] dx = {-1, 1, -1, 1, -2, -2, 2, 2};
int[] dy = {-2, -2, 2, 2, -1, 1, -1, 1};
for (int i = 0; i < dx.length; i++) {
int nextRow = row + dx[i];
int nextColumn = column + dy[i];
if (nextRow < 1 || nextRow > 8 || nextColumn < 1 || nextColumn > 8)
continue;
count++;
}
System.out.println(count);
}
}
Reference
μ΄κ²μ΄ μ·¨μ μ μν μ½λ©ν μ€νΈλ€ - λλλΉ
'π―PS - Baekjoon, etc > ꡬν' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
π₯[λ°±μ€, 2116] μ£Όμ¬μ μκΈ° (Java) (0) | 2023.04.03 |
---|---|
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€] κ²μ κ°λ° (Java) (0) | 2023.03.06 |
λκΈ