728x90
반응형
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/161990
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
👩💻 코드
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<string> wallpaper) {
vector<int> answer;
int lux = 50;
int luy = 50;
int rdx = 0;
int rdy = 0;
for(int i=0; i<wallpaper.size(); i++){
for(int j=0; j<wallpaper[i].size(); j++){
if(wallpaper[i][j] != '#'){
continue;
}
if(i < lux){
lux = i;
}
if(j < luy){
luy = j;
}
if(i > rdx){
rdx = i;
}
if(j > rdy){
rdy = j;
}
}
}
answer.push_back(lux);
answer.push_back(luy);
answer.push_back(rdx+1);
answer.push_back(rdy+1);
return answer;
}
✏️풀이
문제 풀이를 가장 왼쪽, 오른쪽, 위쪽, 아래쪽에 있는 바탕화면 파일을 찾는 것으로 접근하였다.
lux와 luy는 최소값을 찾아야 하니 최대값부터 시작하고 rdx와 rdy는 최대값을 찾아야 하니 최소값부터 시작했다.
- 가장 왼쪽 index값(i)은 lux 👉 index가 작을 때
- 가장 오른쪽 index값(i)은 rdx 👉 index가 클 때
- 가장 위쪽 index값(j)은 luy 👉 index가 작을 때
- 가장 아래쪽 index값(j)은 rdy 👉 index가 클 때
왼쪽 위부터 시작하기 때문에
주의 할 점은 마지막에 rdx와 rdy에 +1을 해주어야 가장 오른쪽과 가장 아래쪽 위치의 파일도 포함시킬 수 있다.
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 옹알이 (2) (1) | 2024.05.22 |
---|---|
[프로그래머스] 개인정보 수집 유효기간 (0) | 2024.05.09 |
[프로그래머스] 성격 유형 검사하기 (0) | 2024.01.18 |
[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸 (0) | 2024.01.17 |
[프로그래머스] 문자열 나누기 (0) | 2023.12.14 |