728x90
https://school.programmers.co.kr/learn/courses/30/lessons/161990
풀이
- '#'이 있는 위치 중에 가장 왼쪽의 값, 가장 위쪽의 값, 가장 아래쪽의 값, 가장 오른쪽의 값
- 주의 사항 : 가장 아래쪽의 값, 가장 오른쪽의 값 은 + 1 필요
코드
class Solution {
public int[] solution(String[] wallpaper) {
int startH = -1;
int lastH = -1;
int startW = Integer.MAX_VALUE;
int lastW = -1;
for (int i = 0; i < wallpaper.length; i++) {
String str = wallpaper[i];
if (str.contains("#")) {
if (startH == -1) {
startH = i;
}
lastH = i + 1;
for (int j = 0; j < str.length(); j++) {
if ('#' == str.charAt(j)) {
if (startW > j) {
startW = j;
}
if (lastW <= j) {
lastW = j + 1;
}
}
}
}
}
return new int[]{startH, startW, lastH, lastW};
}
}
다른 사람 풀이
class Solution {
public int[] solution(String[] wallpaper) {
int minX = Integer.MAX_VALUE;
int minY = Integer.MAX_VALUE;
int maxX = Integer.MIN_VALUE;
int maxY = Integer.MIN_VALUE;
for(int i=0; i< wallpaper.length;i++ ){
for(int j=0; j<wallpaper[i].length();j++){
if(wallpaper[i].charAt(j)=='#'){
minX = Math.min(minX,i);
minY = Math.min(minY,j);
maxX = Math.max(maxX,i);
maxY = Math.max(maxY,j);
}
}
}
return new int[]{minX,minY,maxX+1,maxY+1};
}
}
728x90
'알고리즘 풀이' 카테고리의 다른 글
[프로그래머스] 공원 산책 자바(Java) (0) | 2023.03.28 |
---|---|
[프로그래머스] 크레인 인형뽑기 게임 자바(Java) (0) | 2023.03.27 |
[프로그래머스] 대충 만든 자판 자바(Java) (0) | 2023.03.25 |
[프로그래머스] 덧칠하기 자바(Java) (0) | 2023.03.24 |
[프로그래머스] 멀리 뛰기 자바(Java) (0) | 2023.03.23 |
댓글