Algorithm/알고리즘 문제

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

은 딩 2023. 10. 8. 23:53

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

 

프로그래머스

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

programmers.co.kr


아이디어

오랜만에 한 번에 푼 문제이다.

시작점인 lux, luy는 파일 위치 중에 가장 작은 값을 넣으면 되고

끝점인 rdx, rdy는 파일 위치 중에 가장 큰 값을 넣으면 되는데 드래그는 끝까지 해야하므로 각각 +1을 해야한다.

(왜냐하면 (0,1)에서 파일이 시작했다고 하더라도 파일의 끝은 (1, 2)이므로!!)

 


코드

def solution(wallpaper):
    # Find files position
    lux, luy = 500, 500
    rdx, rdy = -1, -1
    for i in range(len(wallpaper)):
        for j in range(len(wallpaper[i])):
            if wallpaper[i][j] == "#":
                if i < lux:
                    lux = i
                if j < luy:
                    luy = j
                if i > rdx:
                    rdx = i
                if j > rdy:
                    rdy = j
    
    answer = [lux, luy, rdx+1, rdy+1]
                
    return answer