티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/42862#
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
// 도난 당하지 않은 학생 수
answer = n - lost.length;
// 체육복을 잃어버렸지만 (lost) 여분을 가지고 있는 학생 (reserve) 은 못 빌려줌 (lost에도 있고 reserve에도 있는 학생)
int exist = 0;
for(int i=0; i<reserve.length; i++) {
for(int j=0; j<lost.length; j++) {
if(reserve[i] == lost[j]) {
exist++;
// 못 빌려주게 만듦
reserve[i] = -1;
lost[j] = -1;
break;
}
}
}
// 옷을 빌려입은 학생
int rent = 0;
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]) {
System.out.println(reserve[i] + "가 " + lost[j] + "에게 빌려줌");
rent++;
reserve[i] = -1;
lost[j] = -1;
}
}
}
answer += exist + rent;
return answer;
}
}
'ALGORITHM' 카테고리의 다른 글
[JAVA] [프로그래머스] Level 1 - 연습문제 - 같은 숫자는 싫어 (0) | 2020.08.31 |
---|---|
[JAVA] [프로그래머스] Level 1 - 연습문제 - 가운데 글자 가져오기 (0) | 2020.08.30 |
[JAVA] [프로그래머스] Level 1 - 정렬 - K번째 수 (0) | 2020.08.30 |
[JAVA] [프로그래머스] Level 1 - 완전탐색 - 모의고사 (0) | 2020.08.29 |
[JAVA] [프로그래머스] Level 1 - 해시 - 완주하지 못한 선수 (0) | 2020.08.27 |