코딩테스트/프로그래머스

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

플래시🦥 2023. 8. 26.
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/161990

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

바탕화면의 파일을 드래그할 때의 최소 범위를 반환하면 되는 문제.


최소 범위를 알기위한 방범은 파일들의 인덱스의 행의 최소최대, 열의 최소최대를 구하면 된다.

 드래그 시작의 행은 가장 위에 있는 파일의 행, 가장 왼쪽에 있는 파일의 열이고, 드래그의 끝은 가장 밑에 있는 파일의 행+1, 가장 오른쪽에 있는 파일의 열+1이다. 

주어진 string배열을 돌면서 파일이 존재하는 곳의 인덱스를 가지고 최소 최댓값을 구하도록 하면 된다. 

 

전체코드

class Solution {
    public int[] solution(String[] wallpaper) {
        int lmin=Integer.MAX_VALUE,lmax=0;
        int rmin=Integer.MAX_VALUE,rmax=0;
        
        for(int i=0 ; i<wallpaper.length;i++){
            for(int j=0 ; j<wallpaper[i].length();j++){
                if(wallpaper[i].charAt(j)=='#'){
                    lmin = Math.min(lmin,i);
                    lmax = Math.max(lmax,i);
                    rmin = Math.min(rmin,j);
                    rmax = Math.max(rmax,j);
                }
            }
        }
        
        int[] answer = {lmin,rmin,lmax+1,rmax+1};
        return answer;
    }
}

 

728x90
반응형

댓글