Algorithm

[Conc & Sol] 문자열을 비교하여 최솟값을 찾는 문제

Uykm 2024. 6. 25. 02:02

▼ Why ? What ?

1일 1알고리즘 스터디에서 "바탕화면 정리"라는 문제를 풀었는데, 몇 가지 메서드만 사용하면 쉽게 해결할 수 있는 문제였다.


 알고리즘 문제 : "바탕화면 정리"

 

바탕화면 정리

 

프로그래머스

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

programmers.co.kr

 

[ 나의 해결 코드 ]

class Solution {
    public int[] solution(String[] wallpaper) {
        int[] answer = new int[4];
        int startX = 50, startY = 50, endX = 0, endY = 0;
        int col = wallpaper.length;
        int row = wallpaper[0].length();
        boolean firstCheck = true;
        
        for (int i = 0; i < col; ++i) {
            for (int j = 0; j < row; ++j) {
                if (wallpaper[i].charAt(j) == '#') {
                    // 드래그 시작점의 가로 좌표
                    startX = Math.min(startX, j);
                    
                    // 드래그 끝점의 가로 좌표
                    endX = Math.max(endX, j);
                    
                    // 드래그 시작점의 세로 좌표
                    startY = Math.min(startY, i);
                    
                    // 드래그 끝점의 세로 좌표
                    endY = i;
                }
            }
        }
        
        // 드래그 시작점
        answer[0] = startY;
        answer[1] = startX;
        // 드래그 끝점
        answer[2] = endY + 1;
        answer[3] = endX + 1;
        
        return answer;
    }
}