반응형
이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일)
문제
https://school.programmers.co.kr/learn/courses/30/lessons/161990
문제 내용은 지적 재산 보호 차원에서 가져오지 않고 풀이만 공유드리도록 하겠습니다.
풀이
제 풀이가 무조건적으로 맞는 것도 최적의 답변도 아니지만, 이런 풀이도 있다는 차원에서 작성해 보며, 좀 더 나은 방법이 있다면 이야기해 주셔도 도움 될 것 같습니다.
class Solution {
public int[] solution(String[] wallpaper) {
int[] answer = new int[4];
// Step. 사용 변수 선언
int lux = Integer.MAX_VALUE; // 최소 세로 점 (최대 값으로 시작)
int luy = Integer.MAX_VALUE; // 최소 가로 점 (최대 값으로 시작)
int rdx = Integer.MIN_VALUE; // 최대 세로 점 (최소 값으로 시작)
int rdy = Integer.MIN_VALUE; // 최대 가로 점 (최소 값으로 시작)
// Step. 최소 점과 최대 점 찾기
boolean isExist = false; // 파일 존재 여부
for(int x = 0; x < wallpaper.length; x++){
// System.out.println("######");
for(int y = 0; y < wallpaper[x].length(); y++){
char status = wallpaper[x].charAt(y);
// System.out.println(status);
// Cond. 해당 위치에 파일이 있는 경우
if(status == '#'){
isExist = true;
// System.out.println(x + ", " + y);
// Step. 현재 x좌표가 lux 보다 앞에 있는 경우
if(x < lux) lux = x;
// Step. 현재 x좌표가 rdx 보다 뒤에 있는 경우
if(x + 1 > rdx) rdx = x + 1;
// Step. 현재 y좌표가 luy 보다 앞에 있는 경우
if(y < luy) luy = y;
// Step. 현재 y좌표가 rdy 보다 뒤에 있는 경우
if(y + 1 > rdy) rdy = y + 1;
}
}
}
answer[0] = lux;
answer[1] = luy;
answer[2] = rdx;
answer[3] = rdy;
return answer;
}
}
반응형
'개발 창고 > Algorithm' 카테고리의 다른 글
[프로그래머스] 대충 만든 자판 - JAVA (91) | 2024.02.09 |
---|---|
[프로그래머스] 덧칠하기 - JAVA (156) | 2024.02.08 |
[프로그래머스] 공원 산책 - JAVA (180) | 2024.01.31 |
[프로그래머스] 추억 점수 - JAVA (164) | 2024.01.31 |
[프로그래머스] 달리기 경주 - JAVA (174) | 2024.01.30 |