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

단간단간·2024년 3월 31일
0

알고리즘 문제

목록 보기
33/106

링크:

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

회고:

keyword: 한번의 스크롤로 모든 파일을 지운다
스크롤의 첫 지점과 마지막 지점위에 파일이 존재하지 않을 수 있다는 점에 유의해서 lux, luy, rds, rdy를 따로따로 구하면 쉬운 문제이다.

python

def solution(wallpaper):
    # board 생성
    board = [list(i) for i in wallpaper]

    lux, luy, rdx, rdy = len(board), len(board[0]), 0, 0

    for i in range(len(board)):
        for j in range(len(board[0])):
            if board[i][j] == "#":
                # 가장 왼쪽 위 점 찾기 (lux, luy)
                if i <= lux:
                    lux = i

                if j <= luy:
                    luy = j

                # 가장 오른쪽 아래 점 찾기 (rdx, rdy)
                if rdx <= i:
                    rdx = i

                if rdy <= j:
                    rdy = j

    rdx += 1
    rdy += 1

    # [lux, luy, rdx, rdy] 반환하기
    return [lux, luy, rdx, rdy]
profile
simple is best

0개의 댓글