입출력 예:
n | lost | reserve | return |
5 | [2, 4] | [1, 3, 5] | 5 |
5 | [2, 4] | [3] | 4 |
3 | [3] | [1] | 2 |
입출력 예 설명:
예제 #1
1번 학생이 2번 학생에게 체육복을 빌려주고, 3번 학생이나 5번 학생이 4번 학생에게 체육복을 빌려주면 학생 5명이 체육수업을 들을 수 있습니다.
예제 #2
3번 학생이 2번 학생이나 4번 학생에게 체육복을 빌려주면 학생 4명이 체육수업을 들을 수 있습니다.
코드:
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
int count = 0;
for(int i=0; i<lost.length; i++) {
for(int j=0; j<reserve.length; j++) {
if(lost[i]==reserve[j]) {
count++;
lost[i] = -1;
reserve[j] = -1;
break;
}
}
}
for(int i=0; i<lost.length; i++){
for (int j=0; j<reserve.length; j++){
if(lost[i]==reserve[j]+1 || lost[i]==reserve[j]-1){
count++;
reserve[j] = -1;
break;
}
}
}
answer = n - lost.length + count;
return answer;
}
}
접근방법:
'Backend > Algorithm' 카테고리의 다른 글
12. 비트단위시프트연산자 <<, >> (0) | 2020.11.04 |
---|---|
11. copyOfRange, sort - K번째 수 (0) | 2020.10.31 |
9. charAt, boolean - 문자열 다루기 기본 (0) | 2020.10.30 |
8. for, sum - 두 정수 사이의 합 (0) | 2020.10.29 |
7. charAt, substring - 가운데 글자 가져오기 (0) | 2020.10.29 |