[문제]
코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[문제 풀이]
#이 나오는 가장 적은 x값, 가장 큰 x값, 가장 작은 y값, 가장 큰 y값을 구한 뒤에 가장 큰 값들은 index를 1씩만 더해주자.
[회고]
특별히 없음.
[코드]
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int board[51][51];
int n,m;
vector<int> solution(vector<string> wallpaper) {
n = wallpaper.size();
m = wallpaper[0].size();
int min_x = 9999999;
int min_y = 9999999;
int max_x = 0;
int max_y = 0;
for(int i = 0;i<n;i++){
for(int j = 0;j<m;j++){
if(wallpaper[i][j] == '#'){
min_x = min(min_x,i);
min_y = min(min_y,j);
max_x = max(max_x,i);
max_y = max(max_y,j);
}
}
}
vector<int> answer;
answer.push_back(min_x);
answer.push_back(min_y);
answer.push_back(max_x + 1);
answer.push_back(max_y + 1);
return answer;
}