본문 바로가기

알고리즘/백준

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

반응형

 

문제풀이 : 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;
}
반응형

'알고리즘 > 백준' 카테고리의 다른 글

1802-종이접기(브론즈1)  (0) 2020.09.19
백준1740번-거듭제곱(브론즈1)  (0) 2020.09.18
백준1546-평균(브론즈1)  (0) 2020.09.16
백준1526-가장 큰 금민수(브론즈1)  (0) 2020.09.15
백준1459 - 걷기(브론즈1)  (0) 2020.09.14