TIL) 코딩테스트
2024. 12. 11. 18:40ㆍ코딩테스트 리뷰(프로그래머스)/코딩 테스트 Lv.1
[PCCE 기출문제] 10번 / 공원
https://school.programmers.co.kr/learn/courses/30/lessons/340198
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import java.util.Arrays;
class Solution {
public int solution(int[] mats, String[][] park) {
int x = park[0].length; // x 축
int y = park.length; // y 축
boolean isValid;
Arrays.sort(mats);
for (int k = mats.length - 1; k >= 0; k--) {// 메트 사이즈 별로 확인해보기 k 는 각 메트 사이즈 크기가 큰 순서부터 확인
int mat = mats[k];
for( int i = 0; i <= y - mat; i ++ ) { // 기반
for ( int j = 0; j <= x - mat; j++ ) {
isValid = true;
for (int m = i; m < i + mat; m++) { // 돗자리 내부 확인
for (int n = j; n < j + mat; n++) {
if (!park[m][n].equals("-1")) {
isValid = false;
break;
}
}
if (!isValid) break;
}
if( isValid ) return mat;
}
}
}
return -1;
}
}
풀이과정
문제에서 보면 x, y값이 주어지고 돗자리 사이즈가 주어진다.
즉 x - 돗자리 싸이즈, y - 돗자리 싸이즈만큼 전부 돌려보면 된다는 결론이 나온다.
메트별로 비교를 하기 위해 정렬을 하고 뒤에서부터 사용하면 큰 사이즈부터 확인이 가능하다.
메트가 들어갈 메트릭스가 전부 -1 이 아니라면 다른 돗자리 사이즈를 확인하게 된다.
느낀점.
오늘 내일배움캠프에 수강신청하고, "무엇이든 물어보살"을 들으면서 느낀점이 많다.
슬슬 Spring 5기 모집 마무리에 들어가는데 카드가 내일 정식 발급이 되는데, 됬으면 좋겠다.
'코딩테스트 리뷰(프로그래머스) > 코딩 테스트 Lv.1' 카테고리의 다른 글
2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 with Java (3) | 2024.05.15 |
---|---|
[연습문제] 달리기 경주 (1) | 2024.05.14 |
[PCCE 기출문제] 9번/이웃한 칸 (2) | 2024.03.03 |
[PCCP 기출문제] 1번 / 붕대 감지 with Java (0) | 2024.02.29 |
2024 KAKAO WINTER INTERSHIP > 가장 많이 받은 선물 with Java (5) | 2024.02.28 |