본문 바로가기

PS

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

오랜만에 PS 문제를 풀었다. 그동안 만지지 않았던 자바를 다시 한번 복기 하면서 문법들을 기억해 냈다.

import java.util.*;
class Solution {
    public ArrayList <Integer> solution(String[] wallpaper) {
        ArrayList <Integer> arr = new ArrayList<>();
        int x = 51;
        int y = 51;
        int x_ = 0;
        int y_ = 0;
        
        for(int i=0; i<wallpaper.length; i++){
            for(int j=0; j<wallpaper[0].length(); j++){
                if(wallpaper[i].charAt(j) == '#'){
                    if(x > i){
                        x=i;
                    }
                    if(y>j){
                        y=j;
                    }
                    if(x_ < i){
                        x_ = i;
                    }
                    if(y_ < j){
                        y_ = j;
                    }
                }
            }
        }
        x_ +=1;
        y_ +=1;
        arr.add(x);
        arr.add(y);
        arr.add(x_);
        arr.add(y_);
        return arr;
    }
}

이번 문제에는 마우스 커서를 두고 최적의 커서 위치와 끝 위치를 계산해야 하는 문제였다.

 

# 문자 일때 4개의 위치를 갱신하는 형태로 코드를 짰다.

다른 사람들의 코드의 경우 Math.min, Math.max 를 사용하여 최적의 위치를 찾아 냈다. 나는 크기의 최대인 50 보다 1 크게 x,y의 값을 정해주었다. 

'PS' 카테고리의 다른 글

[Programmers] [PCCE 기출문제] 9번 / 이웃한 칸  (0) 2024.11.15
프로그래머스 공원 산책  (1) 2023.11.22
프로그래머스 특수문자 출력하기  (0) 2023.11.18
[Lv0] 대소문자 바꿔서 출력하기  (0) 2023.08.13
11279 최대 힙  (0) 2023.03.06