[프로그래머스] 바탕화면 정리

이한솔·2023년 10월 25일
0

프로그래머스_레벨1

목록 보기
62/65
post-thumbnail

✨️ 문제 설명

: 머쓱이의 컴퓨터 바탕화면의 상태를 나타내는 문자열 배열 wallpaper가 매개변수로 주어질 때 바탕화면의 파일들을 한 번에 삭제하기 위해 최소한의 이동거리를 갖는 드래그의 시작점과 끝점을 담은 정수 배열을 return하는 solution 함수를 작성해 주세요. 드래그의 시작점이 (lux, luy), 끝점이 (rdx, rdy)라면 정수 배열 [lux, luy, rdx, rdy]를 return하면 됩니다.

 -> 자세한 내용 보러가기

🎲 자바 풀이


class Solution {
    public int[] solution(String[] wallpaper) {
        int N = wallpaper.length;   // 세로길이
        int M = wallpaper[0].length(); //가로길이
        
        int startX = N; //시작
        int startY = M;
        int endX = 0;    //끝
        int endY = 0;
        
        for(int i = 0; i < N; i++){
            for (int j = 0; j < M; j++){
                if(wallpaper[i].charAt(j) == '#'){
                    //파일이라면
                    startX = Math.min(startX, i);
                    startY = Math.min(startY, j);
                    endX = Math.max(endX, i);
                    endY = Math.max(endY,j);
                }
            }
        }
        
        int[] answer = {startX, startY, endX + 1, endY + 1};
        return answer;
    }
}
profile
개인 공부용

0개의 댓글