▼ Why ? What ?
1일 1알고리즘 스터디에서 "바탕화면 정리"라는 문제를 풀었는데, 몇 가지 메서드만 사용하면 쉽게 해결할 수 있는 문제였다.
▼ 알고리즘 문제 : "바탕화면 정리"
바탕화면 정리
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 나의 해결 코드 ]
class Solution {
public int[] solution(String[] wallpaper) {
int[] answer = new int[4];
int startX = 50, startY = 50, endX = 0, endY = 0;
int col = wallpaper.length;
int row = wallpaper[0].length();
boolean firstCheck = true;
for (int i = 0; i < col; ++i) {
for (int j = 0; j < row; ++j) {
if (wallpaper[i].charAt(j) == '#') {
// 드래그 시작점의 가로 좌표
startX = Math.min(startX, j);
// 드래그 끝점의 가로 좌표
endX = Math.max(endX, j);
// 드래그 시작점의 세로 좌표
startY = Math.min(startY, i);
// 드래그 끝점의 세로 좌표
endY = i;
}
}
}
// 드래그 시작점
answer[0] = startY;
answer[1] = startX;
// 드래그 끝점
answer[2] = endY + 1;
answer[3] = endX + 1;
return answer;
}
}
▼ Why ? What ?
1일 1알고리즘 스터디에서 "바탕화면 정리"라는 문제를 풀었는데, 몇 가지 메서드만 사용하면 쉽게 해결할 수 있는 문제였다.
▼ 알고리즘 문제 : "바탕화면 정리"
바탕화면 정리
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 나의 해결 코드 ]
class Solution {
public int[] solution(String[] wallpaper) {
int[] answer = new int[4];
int startX = 50, startY = 50, endX = 0, endY = 0;
int col = wallpaper.length;
int row = wallpaper[0].length();
boolean firstCheck = true;
for (int i = 0; i < col; ++i) {
for (int j = 0; j < row; ++j) {
if (wallpaper[i].charAt(j) == '#') {
// 드래그 시작점의 가로 좌표
startX = Math.min(startX, j);
// 드래그 끝점의 가로 좌표
endX = Math.max(endX, j);
// 드래그 시작점의 세로 좌표
startY = Math.min(startY, i);
// 드래그 끝점의 세로 좌표
endY = i;
}
}
}
// 드래그 시작점
answer[0] = startY;
answer[1] = startX;
// 드래그 끝점
answer[2] = endY + 1;
answer[3] = endX + 1;
return answer;
}
}