728x90
https://school.programmers.co.kr/learn/courses/30/lessons/340198
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. Java
import java.util.*;
class Solution {
public int solution(int[] mats, String[][] park) {
int answer = -1;
int ph = park.length;
int pw = park[0].length;
int mc = mats.length;
Arrays.sort(mats);
for ( int px = 0; px < ph; ++px ) {
for ( int py = 0; py < pw; ++py ) {
if ( park[px][py].equals("-1") ) {
loop:
for ( int i = mc-1; i >= 0; --i ) {
int ms = mats[i];
int mh = px + ms -1;
int mw = py + ms -1;
if ( mh >= ph || mw >= pw ) {
continue;
}
for ( int mx = px; mx <= mh; ++mx ) {
for ( int my = py; my <= mw; ++my ) {
if ( !park[mx][my].equals("-1") ) {
continue loop;
}
}
}
if ( answer < ms ) {
answer = ms;
break;
}
}
}
}
}
return answer;
}
}
import java.util.*;
class Solution {
public int solution(int[] mats, String[][] park) {
int answer = -1;
int ph = park.length;
int pw = park[0].length;
int mc = mats.length;
Arrays.sort(mats);
for ( int i = mc-1; i >= 0; --i) {
int ms = mats[i];
outer:
for ( int px = 0; px < ph; ++px ) {
inner:
for ( int py = 0; py < pw; ++py ) {
if ( px+ms > ph ) {
break outer;
}
if ( py+ms > pw ) {
break inner;
}
for ( int mx = px; mx < px+ms; ++mx ) {
for ( int my = py; my < py+ms; ++my ) {
if ( !park[mx][my].equals("-1") ) {
continue inner;
}
}
}
answer = ms;
return answer;
}
}
}
return answer;
}
}
2. Python
def solution(mats, park):
answer = -1
ph = len(park)
pw = len(park[0])
mc = len(mats)
mats.sort(reverse=True)
for ms in mats :
for px in range(ph) :
for py in range(pw) :
if px+ms > ph or py+ms > pw :
break
for mx in range(ms) :
for my in range(ms) :
if park[mx+px][my+py] != "-1" :
break
else :
continue
break
else :
answer = ms
return answer
return answer
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 프로그래머스 ( Programmers )' 카테고리의 다른 글
[프로그래머스(Programmers)][Java,Python] (Lv1) 택배 상자 꺼내기 (2025 프로그래머스 코드챌린지 2차 예선) (0) | 2025.03.31 |
---|---|
[프로그래머스(Programmers)][Java,Python] (Lv1) 동영상 재생기 (PCCP 기출문제 1번) (0) | 2025.03.26 |
[프로그래머스(Programmers)][Java,Python] (Lv1) 붕대 감기 (PCCP 기출문제 1번) (0) | 2025.03.25 |
[프로그래머스(Programmers)][Java,Python] (Lv1) 유연근무제 (0) | 2025.03.25 |
[프로그래머스(Programmers)][Java,Python] (Lv1) 공원 산책 (0) | 2025.03.24 |