알고리즘/백준

백준1652-누울자리를 찾아라(브론즈1)

원당컴 2020. 9. 17. 14:54
반응형

 

문제풀이 : https://www.acmicpc.net/problem/1652

 

1652번: 누울 자리를 찾아라

첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다.

www.acmicpc.net

문제풀이)  ..x.. 과 같은 경우는 2개를 처리 해야 되고 ..... 같은 경우는 1개로 처리해야 한다는 점만 유의하면 행에서 나올 수 있는 갯수와 열에서 나올수 있는 갯수를 세어 주면 된다.

 

#include <iostream>
#include <cstdio>

using namespace std;


int nmap[110][110];
int main()
{

    int n;
    cin >> n;
    char ch;
    int rowcnt = 0;
    int colcnt = 0;
    for(int i=0;i<n;i++)
    {
        int cnt = 0;
        for(int j=0;j<n;j++)
        {
            scanf(" %c",&ch);
            if(ch=='.')
            {
                nmap[i][j]=0;
                cnt++;
            }
            else
            {
                nmap[i][j]=1;
                cnt=0;
            }
            if(cnt==2) rowcnt++;
        }
        
    }
    for(int i=0;i<n;i++)
    {
        int cnt = 0;
        for(int j=0;j<n;j++)
        {

            if(nmap[j][i]==0)
            {
                cnt++;
            }
            else
            {
                cnt=0;
            }
            if(cnt==2) colcnt++;
        }
    }

    cout << rowcnt << " " << colcnt;
    return 0;
}
반응형