관리 메뉴

솜씨좋은장씨

[Programmers] 바탕화면 정리 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 바탕화면 정리 (Python)

솜씨좋은장씨 2023. 3. 6. 15:06
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 바탕화면 정리 입니다.

 

프로그래머스

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

programmers.co.kr

👨🏻‍💻 문제 풀이

모든 파일을 다 포함하면서 가장 작은 영역으로 드래그하려면 

왼쪽 끝 위쪽 끝 부터 오른쪽 끝, 아래쪽 끝 크기만큼 드래그해야합니다.

따라서 #이 등장하는 모든 row, col idx 값을 모은 다음 row  와 col idx의 min / max 값을 구합니다.

여기서 max 값은 +1 을 해주어야 합니다.

👨🏻‍💻 코드 ( Solution )

def solution(wallpaper):
    row_idx_list, col_idx_list = [], []
    
    for row_idx, row in enumerate(wallpaper):
        for col_idx, col in enumerate(list(row)):
            if col == "#":
                row_idx_list.append(row_idx)
                col_idx_list.append(col_idx)
                
    return [min(row_idx_list), min(col_idx_list), max(row_idx_list) + 1, max(col_idx_list) + 1]
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments