코딩테스트

[프로그래머스] PCCE 기출문제 10번 / 공원

알파파고 2025. 5. 1. 12:34
728x90

사용언어 : Python

 

📋 문제 설명

🔑 문제 풀이

 

def solution(mats, park):
    n = len(park)
    m = len(park[0])
    
    for size in sorted(mats,reverse=True):
        for row in range(n-size+1):
            for col in range(m-size+1):
                place = True
                for x in range(row,row+size):
                    for y in range(col,col+size):
                        if park[x][y]!='-1':
                            place=False
                            break
                    if not place:
                        break
                if place:
                    return size
    return -1

1. 행의길이 n ,열의 길이 m

2. 정렬로 mats 큰 거 부터 시도

3. park의 범위를 벗어나지않고 mat를 깔수있는 행과 열의 시작점을 기준으로 순회

4.시작점을 기준으로 size 정사각형 범위에 -1이 아니면 False 

5.  False면 break 후 시작점을 옮기면서 반복, true 면  현재 size return

 

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

728x90