250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- PCCE
- 백엔드
- map
- ReactNative
- 오블완
- javascript
- 프로젝트
- React Native
- 2025 프로그래머스 코드챌린지 2차 예선
- 코딩
- controller
- 코테
- Spring
- node.js
- 자바스크립트
- 프로그래머스
- 티스토리챌린지
- firebase
- 스프링
- 자바
- 리액트 네이티브
- 태그
- React
- 리액트네이티브
- java
- 코딩테스트
- project
- 리액트
- expo
- 파이어베이스
Archives
- Today
- Total
양갱의 개발 블로그
[프로그래머스] [PCCE 기출문제] 10번 / 공원(Java), (feat.90점) 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/340198
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
확인 내용
1. 돗자리의 크기들 확인 후 조건에 부합하는 가장 큰 값을 반환해야 함
2. for문이 많은 것은 런타임 에러에 주의
3. 돗자리는 정사각형이기 때문에 확인하는 값의 범위
코드 로직
1. 지민이가 가지고 있는 돗자리들의 크기들을 정렬하여 내림차순으로 만들어줍니다.
2. park에서 돗자리를 깔 수 있는 곳을 찾습니다.
3. 런타임 에러가 발생되지 않도록 예외 처리해줍니다.
최종 코드
import java.util.*;
class Solution {
public int solution(int[] mats, String[][] park) {
int answer = 0;
// 가장 큰 돗자리부터 찾아야 함
Integer[] matsArr = Arrays.stream(mats).boxed().toArray(Integer[]::new);
Arrays.sort(matsArr, Collections.reverseOrder());
// 돗자리 전체 확인
for (int m : matsArr){
// park의 너비
for (int i = 0; i <= park.length - m; i++){
for (int j = 0; j <= park[0].length - m; j++){
// 돗자리를 필 수 있다면 true, 중간에 하나라도 있으면 false
boolean check = true;
// park의 너비를 넘지 않고 빈자리라면
if(park[i][j].equals("-1") && (i + m) <= park.length && (j + m) <= park[0].length){
// 해당 자리부터 돗자리의 길이 만큼 정사각형의 길이 만큼을 확인
for (int k = 0; k < m; k++){ // 가로
for (int e = 0; e < m; e++){ // 세로
if(!park[k + i][e + j].equals("-1")){
check=false;
break;
}
}
if(!check) break;
}
if(check) {
return m;
}
}
}
}
}
return answer;
}
}
마무리
Javascript에서는 쉽게 정렬할 수 있었는데 자바로 하면서 int는 정렬할 수 없다는 것을 알게됐습니다. Interger만 된다는 것을,,,
그리고 출력할 때도 자꾸 변수값만 출력하다보니까 계속 주솟값만 찍힙니다. for문으로 돌려줘야하는데 자꾸 에러가 났습니다
가장 어려웠던 게 제가 생각했던 예외처리는 다 했다고 생각했는 데 뭔가 자꾸 생각나고 또 고쳐보면 다른 예외가 발생했습니다. 예외처리를 꼼꼼하게 하는 습관을 들여야 할 것 같습니다.
체점해보면 계속 몇개가 틀립니다. 어디를 고쳐야할 까요.. 90점네요.. 피드백 부탁드립니다

728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] [2025 프로그래머스 코드챌린지 2차 예선] 택배 상자 꺼내기(Java) (0) | 2025.03.25 |
---|---|
[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸 (Java) (0) | 2024.11.16 |
[프로그래머스] [PCCE 기출문제] 9번 / 지폐 접기(Java) (0) | 2024.11.12 |
[프로그래머스] [PCCP 기출문제] 2번 / 퍼즐게임챌린지(JavaScript) (1) | 2024.11.10 |
[프로그래머스] [PCCP 기출문제] 1번 / 붕대 감기(javascript) (3) | 2024.11.09 |