package org.example.알고리즘.바탕화면정리;
import java.util.Arrays;
class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
System.out.println(Arrays.toString(solution.solution(new String[]{
".#...", "..#..", "...#."
})));
System.out.println("================================");
System.out.println(Arrays.toString(solution.solution(new String[]{
"..........", ".....#....", "......##..", "...##.....", "....#....."
})));
System.out.println("================================");
}
public int[] solution(String[] wallpaper) {
int[] answer = {};
int minX = Integer.MAX_VALUE;
int maxX = 0;
int minY = Integer.MAX_VALUE;
int maxY = 0;
for (int x = 0; x < wallpaper.length; x++) {
for (int y = 0; y < wallpaper[x].length(); y++) {
char c = wallpaper[x].charAt(y);
if (c == '#') {
minX = Math.min(minX, x);
maxX = Math.max(maxX, x);
minY = Math.min(minY, y);
maxY = Math.max(maxY, y);
}
}
}
System.out.println("minX = " + minX);
System.out.println("maxX = " + maxX);
System.out.println("minY = " + minY);
System.out.println("maxY = " + maxY);
answer = new int[]{minX, minY, maxX + 1, maxY + 1};
return answer;
}
}
- 최소 X Y 최대 X Y 값을 구하기만 하면 되는 간단한 문제이다.
- 최대 X Y 의 값에서 +1 처리를 해주어야하는데,
- 그림처럼
- 이런식으로 파일이 7인덱스에 위치하더라도 8까지 크기를 차지 하기 때문에, +1 처리를 해주어야함.
Uploaded by N2T
'자바 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 행렬의 덧셈 (Java) (0) | 2024.01.14 |
---|---|
[프로그래머스] 안전지대 (0) | 2024.01.07 |
[프로그래머스] 혼자 놀기의 달인 (0) | 2024.01.02 |
[프로그래머스] 합승 택시 요금 [플로이드-워셜] (0) | 2023.12.31 |
[프로그래머스] 전력망을 둘로 나누기 (0) | 2023.12.30 |