- 소요시간 : 1시간 - 2시간
- 해당 문제에서 배운 점
- String 문법 equals()
String str1 = "a", str2 = "b"; str1.equals(str2);
정렬 방법
import java.util.Arrays; int[] arr; Arrays.sort(arr);
프로그래머스에서 디버깅 방법
함수의 리턴형을 내가 찍고싶은 변수의 데이터형으로 변환하고, 해당 변수를 리턴하기
- 내 코드
사용된 알고리즘은 DP이다.
import java.util.*;
class Solution {
public int solution(int[] mats, String[][] park) {
int answer = -1, availableSeatSize = 1;
int [][]visited = new int[park.length][park[0].length];
for(int i = 0; i<park.length; i++){
visited[i][0] = park[i][0].equals("-1") ? 1 : 0;
}
for(int j = 1; j<park[0].length; j++){
visited[0][j] = park[0][j].equals("-1") ? 1 : 0;
}
for(int i = 1; i<park.length; i++){
for(int j = 1; j<park[0].length; j++){
if(park[i][j].equals("-1")){
visited[i][j] = Math.min(visited[i][j-1],Math.min(visited[i-1][j],visited[i-1][j-1])) + 1;
availableSeatSize = Math.max(visited[i][j], availableSeatSize);
}
}
}
Arrays.sort(mats);
for(int i = mats.length - 1 ; i >= 0 ; i--){
if(mats[i] <= availableSeatSize){
answer = mats[i];
break;
}
}
return answer;
}
}
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] 최빈값 구하기 (0) | 2025.01.29 |
---|---|
[프로그래머스] PCCE 기출문제 10번 / 데이터 분석 (0) | 2025.01.26 |
[프로그래머스] 등차수열의 합 (0) | 2025.01.23 |
[프로그래머스] 두 수의 합 (0) | 2025.01.23 |
[프로그래머스] 무작위로 K개의 수 뽑기 (0) | 2025.01.23 |