알고리즘
- 구현
- 문자열
풀이
1. 방법 : 짝수행(열 0, 2, 4, 6)과 홀수행(열 1, 3, 5, 7)을 구분하여 하얀 칸 위에 말이 올려져 있는지 확인
2. 방법 : 하얀 칸이 위치한 행+열의 합이 짝수인 경우에 말이 올려져 있는지 확인 !!!
0 1 2 3 4 5 6 7
0 w b w b w b w b
1 b w b w b w b w
2 w b w b w b w b
3 b w b w b w b w
4 w b w b w b w b
5 b w b w b w b w
6 w b w b w b w b
7 b w b w b w b w
java코드
방법 1
</p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] chess = new String[8];
for(int i=0; i<8; i++)
chess[i] = sc.nextLine();
int count=0;
for(int i=0; i<chess.length; i++){
for(int j=0; j<chess.length; j++){
// 짝수행칸 짝수열칸
if( i%2==0 && j%2==0 && chess[i].charAt(j)=='F' )
count++;
// 홀수행칸 홀수열칸
if( i%2==1 && j%2==1 && chess[i].charAt(j)=='F' )
count++;
}
}
System.out.println(count);
}
}
|
cs |
방법 2
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.util.Scanner;
public class prac {
public static void main(String[] args){
int SIZE = 8;
int count = 0;
Scanner sc = new Scanner(System.in);
String line = "";
//체스판
char[][] chess = new char[SIZE][SIZE];
for(int i=0; i<SIZE; i++){
line = sc.nextLine();
for(int j=0; j<SIZE; j++){
chess[i][j] = line.charAt(j);
//하얀칸 = 행+열 % 2 이므로 이게 F 이면 카운트
if((i+j)%2 == 0 && chess[i][j] == 'F')
count++;
}
}
System.out.println(count);
}
}
|
cs |
728x90
반응형
'자료구조+알고리즘 > BOJ' 카테고리의 다른 글
[18111][java][백준]마인크래프트 (0) | 2021.10.24 |
---|---|
[1966][java][백준]프린터큐 (0) | 2021.10.24 |
[1205][java][백준][실버Ⅴ]등수구하기 (0) | 2021.10.18 |
[1173][java][백준][브론즈Ⅱ]운동 (0) | 2021.10.15 |
[1152][java][백준][브론즈Ⅱ]단어의 개수 (0) | 2021.10.15 |