728x90
▶ 문제
▶ 풀이방법
** 주의 : 여러 체육복 가져온 학생중, 체육복 도난 당한 학생은 빌려줄수 없음.
import java.util.*;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
Arrays.sort(lost);
Arrays.sort(reserve);
int answer = n-lost.length;
Queue<Integer> que = new LinkedList<Integer>();
for(int m : lost) { //여벌의 체육복 가져온 친구중 도난당한 친구판별
boolean ck = false;
for(int i = 0; i < reserve.length; i++) {
if(m == reserve[i]) {
answer++;
reserve[i] = -1;
ck = true;
break;
}
}
if(!ck) { //여벌옷 가져오지 않은 친구 queue에 저장.
que.offer(m);
}
}
while(!que.isEmpty()) {//여벌옷 가져오지 않은 친구중, 옷 빌릴수 있는 친구 판별.
int student = que.remove();
for(int i = 0; i < reserve.length; i++) {
if(student-1 == reserve[i] || student+1 == reserve[i]) {
answer++;
reserve[i] = -1;
break;
}
}
}
return answer;
}
}
728x90
'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글
Lv1. K번째 수 (0) | 2022.04.24 |
---|---|
Lv1. 모의고사 (0) | 2022.04.21 |
Lv1. 폰켓몬 (0) | 2022.04.20 |
Lv1. 실패율[카카오] (0) | 2022.04.18 |
Lv1. 약수의 개수와 덧셈 (0) | 2022.04.17 |