문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/340198

제한 사항

입출력 예

풀이
def solution(mats, park):
mats.sort(reverse=True)
for mat in mats:
for index_y, y in enumerate(park):
for index_x, x in enumerate(y):
# 사용 못하는 공간일 때
if x != '-1':
continue
# 돗자리 깔 수 있는 시작점일 때
else:
result = True
# 남은 범위 안에 돗자리 깔 수 있을 때
if index_y + mat <= len(park) and index_x + mat <= len(y):
# 돗자리 범위 내 빈 곳 확인
for i in range(0, mat):
for j in range(0, mat):
if park[index_y + i][index_x + j] != '-1':
result = False
if result:
return mat
return -1
후기
이제부터 파이썬을 공부할겸 코테를 다시 시작해보려고 한다.
파이썬은 많이 접해보지 않아서 문법이나 유용한 메서드들을 잘 알지는 못하지만 문제를 풀어가면서 익혀보려고 한다.
위 문제는 가지고 있는 정사각형 돗자리 중 깔 수 있는 최대 크기를 구하는 문제이다.
이런 문제가 나오면 항상 어떤 공식같은게 있을까 생각해보는데 오랜만에 푸는거라 그런가 뭔가 잘 생각이 안 나서 그냥 무식하게 풀었다.
일단 모든 돗자리와 모든 지점을 순회하면서 돗자리를 깔 수 있는 시작점이면 현재 돗자리 크기를 집어넣어봐서 깔 수 있는지 체크하는 간단한 방식이다.
'코딩테스트 (프로그래머스) > Python' 카테고리의 다른 글
| [프로그래머스][Python][Lv. 2] 미로 탈출 (0) | 2026.02.18 |
|---|