import java.util.*;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
answer = borrow(n, lost, reserve);
return answer;
}
int borrow(int n, int[] lost, int[] reserve){
int sum = 0;
// 여벌 체육복 있지만 잃어버린 애들 바꿔주기
for(int i = 0; i < lost.length; i++){
for(int j = 0; j < reserve.length; j++) {
if (lost[i] == reserve[j]) {
lost[i] = -3;
reserve[j] = -3;
sum++; // lost 에서 제외시켜주기 위함
break;
}
}
}
// 작은 번호대로 정렬해주기
Arrays.sort(lost);
Arrays.sort(reserve);
//잃어버린 애들 빌려준 수 구하기
for(int i = 0; i <reserve.length; i++){
for(int j = 0; j < lost.length; j++) {
if (reserve[i]-1 == lost[j] || reserve[i]+1 == lost[j]) {
sum++;
lost[j] = -3;
break;
}
}
}
//잃어버린 애들 수 에서 빌려준 애들 수 빼기
return n-(lost.length-sum);
}
}
'개발 공부 > 알고리즘' 카테고리의 다른 글
프로그래머스 '네트워크' 자바 (0) | 2023.04.18 |
---|---|
프로그래머스 '게임 맵 최단거리' 자바 (0) | 2023.04.18 |
<programmers> 이상한 문자 만들기 자바 (0) | 2022.09.29 |
<programmers> 약수의 개수와 덧셈 자바 (0) | 2022.09.27 |
<programmers> 정수 내림차순으로 배치하기 - 자바 (0) | 2022.09.06 |