[백준/BOJ] 9082. 지뢰찾기 [Gold 5]

jychan99·2022년 3월 13일
0
post-thumbnail
  1. 지뢰찾기

문제출처 : https://www.acmicpc.net/problem/9082

code

#include <iostream>
#include <vector>
using namespace std;

int main()
{
	int T, i, N;
	string S, mine;

	cin >> T;

	while (T)
	{
		int result = 0;
		cin >> N;
		cin >> S;
		cin >> mine;

		for (i = 0; i < N; i++)
		{
			if (i == 0)
			{
				if (S[0] != '0' && S[1] != '0')
				{
					S[0]--;
					S[1]--;
					result++;
				}
			}
			else if (i == N - 1)
			{
				if (S[N - 1] != '0' && S[N - 2] != '0')
				{
					S[N - 1]--;
					S[N - 2]--;
					result++;
				}
			}
			else
			{
				if (S[i - 1] != '0' && S[i] != '0' && S[i + 1] != '0')
				{
					S[i - 1]--;
					S[i]--;
					S[i + 1]--;
					result++;
				}
			}
		}
		cout << result << '\n';

		T--;
	}

	return 0;
}

저번에 풀어본 지뢰찾기랑 거의 비슷한데 이 문제가 더 푸는데 쉬웠다.
그냥 배열돌면서 +-1범위안에 0이 하나라도 있으면 지뢰가 없다는 의미이므로 반복문을 돌면서 0이 없으면 지뢰갯수++하고, S배열에 -1씩한다. 0이 있으면 그냥 넘어가면 된다.

profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐥

0개의 댓글