728x90
사실 이 문제는 굉장히 쉬운지라 어떻게 풀어도 상관은 없지만 다른 사람들 코드를 보니 의외로 이 사실을 모르는 것 같아서 한 번 올려본다.
Solution
만약 이런 체스판이 있다고 쳤을 때 (가로 index + 세로 index), 즉 i + j 가 흰 칸은 짝수이고 검은 칸은 홀 수 이다.
그래서 굳이 i 가 짝수일 때, 홀수 일 때 경우, j가 짝수 혹은 홀수 일 때 경우를 분기할 필요 없이 (i+j)가 짝수, 홀수인 경우로만 분기하면 된다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = 0;
for(int i = 0; i < 8;i++)
{
String str = br.readLine();
for(int j = 0;j < 8; j++)
{
char c = str.charAt(j);
//i + j 가 짝수이면 흰칸
if((i+j) % 2 == 0)
{
if(c == 'F')
count++;
}
}
}
System.out.println(count);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
728x90
'Algorithm > 문제 풀이' 카테고리의 다른 글
[알고리즘] 문자열 폭발 (백준 9935번) (0) | 2020.08.26 |
---|---|
[알고리즘] 팰린드롬? (백준 10942번) (0) | 2020.08.25 |
[알고리즘] 잃어버린 괄호 (백준 1541번) (0) | 2020.08.24 |
[알고리즘] 크로아티아 알파벳 (백준 2941번) (0) | 2020.08.24 |
[알고리즘] 괄호 체크 (백준 9012번) (0) | 2020.08.24 |
댓글