Algorithm/Implementation

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

킹우현 2023. 6. 23. 17:28

 

def solution(wallpaper):
    
    left_top = [49,49]
    right_down = [0,0]
    
    row_l, col_l = len(wallpaper), len(wallpaper[0])
    
    area = [[""]*col_l for _ in range(row_l)]
    
    for i,row in enumerate(wallpaper):
        for j,item in enumerate(row):
            area[i][j] = item
            if item == "#":
                left_top[0] = min(left_top[0],i)
                left_top[1] = min(left_top[1],j)
                right_down[0] = max(right_down[0],i+1)
                right_down[1] = max(right_down[1],j+1)

    return left_top + right_down

이번 문제는 바탕화면에 파일이 존재하는 좌표의 왼쪽 위 좌표와, 오른쪽 아래 좌표를 min(), max() 메서드를 사용하여 드래그 범위를 업데이트해주는 방식으로 해결하였다.

 

단순한 구현 문제이므로 아이디어만 떠올리면 금방 해결할 수 있었던 문제이다.