https://www.acmicpc.net/problem/1100
✔ 문제이해
8x8 크기의 체스판이 있고, 이 체스판의 (0,0)은 하얀색이며 검정색과 번갈아가며 구성되어있다.
8x8 크기의 입력이 주어지고 F가 있는 칸이 하얀칸일때 수를 세주어라.
✔ 풀이 + 코드
이중 for문의 index의 특성을 이용하여 풀었다.
i+j가 짝수일 경우에는 무조건 흰색board이다.
규칙적으로 번갈아며 board위에 나타나는 무언가가 있다면 이 방법을 사용하면 실행시간을 많이 단축할 수 있을것 같다.
#include <iostream>
using namespace std;
int main()
{
int answer = 0;
string s = "";
for(int i = 0; i < 8; ++i)
{
cin >> s;
for(int j = 0; j < 8; ++j)
{
if((i+j) % 2 == 0 && s[j] == 'F') answer++;
}
}
cout << answer << endl;
return 0;
}
✔ 피드백
- for문의 index특성을 잊지말자
✔reference
https://gdlovehush.tistory.com/535
'Study > BOJ와 Programmers' 카테고리의 다른 글
[BOJ] 1463 1로 만들기 c++ (dp) (0) | 2023.04.20 |
---|---|
[BOJ] 11656 접미사 배열 c++ (priority_queue) (0) | 2023.04.13 |
[BOJ] 1068 트리 c++ (트리 그래프, int형 dfs문 활용) (0) | 2023.04.06 |
[BOJ] 11725 트리의 부모 찾기 c++ (트리 특징, dfs) (0) | 2023.03.31 |
[Programmers] 배달 c++ (우선순위 큐, 다익스트라) (0) | 2023.03.28 |