🔗 체육복
import java.util.Arrays;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
// n : 전체 학생의 수
// lost : 도난 당한 학생들의 번호
// reserve : 여벌의 체육복을 가져온 학생들의 번호
// 체육 수업을 들을 수 있는 학생의 최댓값 return
// reserve 학생이 lost 에 있을 수도 있음 -> 빌려줄 수 없음
Arrays.sort(lost);
Arrays.sort(reserve);
int lostSize=lost.length;
int reserveSize=reserve.length;
int answer = 0;
for(int i=0;i<reserveSize;i++){
int r=reserve[i];
for(int j=0;j<lostSize;j++){
int l=lost[j];
if(r==l){
lost[j]=(-1);
reserve[i]=(-1);
break;
}
}
}
for(int i=0;i<reserveSize;i++){
int r=reserve[i];
if(r==(-1))continue;
for(int j=0;j<lostSize;j++){
int l=lost[j];
if(l==(-1))continue;
if(r-1==l){// 왼쪽 사람이 없다면
lost[j]=(-1);
break;
}else if(r+1 == l){// 오른쪽 사람이 없다면
lost[j]=(-1);
break;
}
}
}
for(int i: lost){
if(i!=(-1))answer--;
}
return answer+n;
}
}
'코딩테스트 > 문제풀이' 카테고리의 다른 글
[ etc ] #18 : 두 개의 수로 특정값 만들기 - JAVA (0) | 2025.04.21 |
---|---|
[ 프로그래머스 ] #159994 : 카드 뭉치 - JAVA (0) | 2025.04.19 |
[ 프로그래머스 ] #42860 : 조이스틱 - JAVA (1) | 2025.04.17 |
[ 프로그래머스 ] #64065 : 튜플 - JAVA (0) | 2025.04.16 |
[ 프로그래머스 ] #42586 : 기능개발 - JAVA (0) | 2025.04.15 |