프로그래머스/1레벨
[프로그래머스/C++] 바탕화면 정리
Koalitsiya
2023. 7. 3. 14:34
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 이해
- 최소한의 이동 거리로 모든 파일을 드래그
- '.'은 빈칸, '#'은 문서
문제 풀이
- string 벡터를 돌며 해당 인덱스의 원소가 '#'인 경우에 해당 위치의 좌표를 각각 비교해서 조건에 맞다면 삽입
- 반복문이 끝난 후 출력
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<string> wallpaper) {
int luX = 51, luY = 51;
int rdX = 0, rdY = 0;
int colLength = wallpaper.size();
int rowLength = wallpaper[0].size();
for(int i = 0; i < colLength; i++) {
for(int j = 0; j < rowLength; j++) {
if(wallpaper[i][j] == '#') {
if(i < luX) luX = i;
if(j < luY) luY = j;
if(i + 1 > rdX) rdX = i + 1;
if(j + 1 > rdY) rdY = j + 1;
}
}
}
return {luX, luY, rdX, rdY};
}