https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=cpp
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
#include <vector>
#include <string>
#include <algorithm> // min, max 사용을 위해 필요
using namespace std;
vector<int> solution(vector<string> wallpaper)
{
// 드래그 시작 좌표 (lux, luy), 끝 좌표 (rdx, rdy) 초기화
// lux, luy는 가장 작은 값으로 시작
// rdx, rdy는 가장 큰 값으로 시작
int lux = 50, luy = 50; // 최대 크기 50 기준
int rdx = 0, rdy = 0;
// wallpaper 전체 순회
for (int i = 0; i < wallpaper.size(); ++i)
{
for (int j = 0; j < wallpaper[i].size(); ++j)
{
// 파일이 존재하는 위치("#") 발견 시
if (wallpaper[i][j] == '#')
{
// 가장 왼쪽 위 좌표 갱신
lux = min(lux, i);
luy = min(luy, j);
// 가장 오른쪽 아래 좌표 갱신
rdx = max(rdx, i + 1); // 드래그는 해당 좌표 포함이므로 +1
rdy = max(rdy, j + 1); // 마찬가지로 +1
}
}
}
// 결과를 {lux, luy, rdx, rdy} 순서로 반환
return {lux, luy, rdx, rdy};
}
백준 2559 (0) | 2025.04.05 |
---|---|
백준 //안전 영역 (0) | 2025.04.04 |
소수 구하기//백준 (0) | 2025.03.31 |
DFS 긍정왕 홍철이의 구걸 여행 (0) | 2025.03.03 |
외판원 문제 (TSP, Traveling Salesman Problem) (0) | 2025.02.22 |