본문 바로가기

Study/BOJ와 Programmers

[BOJ] 하얀칸 c++ (for문 index 규칙)

 

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