알고리즘/BOJ

백준 2799번 블라인드

꾸준함. 2018. 9. 22. 03:03

문제 링크입니다: https://www.acmicpc.net/problem/2799


간단한 배열 문제였습니다.

vector와 string을 연습하기 좋은 문제인 것 같아서 풀어봤습니다.


#include <iostream>

#include <vector>

#include <string>

using namespace std;

 

int arr[5];

vector<string> v;

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        int M, N;

        cin >> M >> N;

 

        v.resize(5 * M + 1);

        // 5M + 1

        for (int i = 0; i < 5 * M + 1; i++)

                 cin >> v[i];

 

        for (int i = 0; i < 5 * M + 1; i++)

        {

                 //#으로만 이루어진 줄인지 창문 윗줄인지 파악

                 bool checked = false;

                 for (int j = 0; j < v[i].size(); j++)

                 {

                         if (v[i][j] == '.')

                         {

                                 checked = true;

                                 arr[0]++;

                                 //다음 창문으로

                                 j += 3;

                         }

                         else if (v[i][j] == '*')

                         {

                                 checked = true;

                                 int k = 0;

                                 //*가 몇줄인지 파악

                                 while (1)

                                 {

                                          k++;

                                          if (v[i + k][j] != '*')

                                                  break;

                                 }

                                 arr[k]++;

                                 //다음 창문으로

                                 j += 3;

                         }

                 }

                 //제일 윗칸을 확인했으면 다음 창문 윗칸 직전으론

                 if (checked)

                         i += 3;

        }

        for (int i = 0; i < 5; i++)

                 cout << arr[i] << " ";

        cout << "\n";

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

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

백준 11977번 Angry Cows(Bronze)  (0) 2018.09.23
백준 11976번 Promotion Counting  (0) 2018.09.23
백준 1199번 오일러 회로  (2) 2018.09.22
백준 9666번 SUMO  (0) 2018.09.21
백준 10881번 프로도의 선물 포장  (2) 2018.09.21