반응형
문제 설명
체스판은 8*8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
출력
첫째 줄에 문제의 정답을 출력한다.
생각
문자열 처리와 좌표를 생각하면 되는 문제이다. (0,0)이 하얀색이므로 (0,2) , (0,4) , (0,6) 이 하얀 칸이 될 것이다.
또한 (1,1) , (1,3) , (1,5) (1,7) 이 하얀 칸이 될 것이다. 각 행이 번갈아가면서 반복되므로 홀수행, 짝수행을 나누어서 처리해줘도 된다. 하지만 나는 각 좌표의 합이 짝수가 된다면 하얀 칸이라고 생각하고 문제를 풀었다.
그렇게 하니 코드가 매우 간결해졌다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = 0;
String[][] map = new String[8][8];
for(int i=0; i<map.length; i++) {
String[] str = br.readLine().split("");
for(int j=0; j<map[0].length; j++) {
map[i][j] = str[j];
}
}
for(int i=0; i<map.length; i++) {
for(int j=0; j<map[0].length; j++) {
if((i+j)%2 == 0 && map[i][j].equals("F")) {
count++;
}
}
}
System.out.println(count);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
글을 못 쓴 이유는 (아무도 궁금하진 않았겠지만) 요즘 매우 바빴다. 인생 첫 대기업 면접도 있었고 인턴 생활도 바쁘고.. 이래저래 힘든 2주 정도였다. 다시 힘내서 포스팅을 해야겠다.
반응형
'알고리즘 > 코딩 - 백준' 카테고리의 다른 글
[자바][Java][백준][1157번] 단어 공부 - 탐색 (0) | 2019.11.10 |
---|---|
[Java][자바][백준][1145번] 적어도 대부분의 배수 - 탐색/브루트 포스 (0) | 2019.11.09 |
[Java][자바][백준][2668번] 숫자고르기 (0) | 2019.10.02 |
[Java][자바][백준][2573] 빙산 (0) | 2019.10.01 |
[Java][자바][백준][1436번] 영화감독 슘 (0) | 2019.09.30 |