바탕화면 정리

magicdrill·2025년 1월 16일

바탕화면 정리

상 : height
하 : 0
좌 : width
우 : 0
처럼 각 인덱스의 최대 반대에 위치한 좌표로부터 갱신해서 답을 구한다. 이때, 오른쪽 아래 좌표인 rdx, rdy의 경우 인덱스 가장자리 값을 가져야 하므로 +1을 해 답을 구한다.

#include <string>
#include <vector>
#include <iostream>
//#include <cstdlib>

using namespace std;

vector<int> solution(vector<string> wallpaper) {
    vector<int> answer;
    int width = wallpaper[0].size(), height = wallpaper.size();
    int up = height, down = 0, right = 0, left = width;
    int i, j;
    
    for(i = 0; i < height; i++){
        for(j = 0; j < width; j++){
            if(wallpaper[i][j] == '#'){
                cout << "현 위치 : " << i << ", " << j << "\n";
                if(i < up){//상부 갱신
                    up = i;
                }
                if(i > down){//하부 갱신
                   down = i;
                }
                if(j < left){//좌측 갱신
                    left = j;
                }
                if(j > right){//우측 갱신
                    right = j;
                }
                cout << "up : " << up << " down : " << down << " left : " << left << " right : " << right << "\n";
            }
        }
    }
    answer.push_back(up);
    answer.push_back(left);
    answer.push_back(down + 1);
    answer.push_back(right + 1);
    
    return answer;
}

0개의 댓글