체육복 : Greedy algorithm

magicdrill·2024년 11월 25일
0

프로그래머스 체육복 : Greedy algorithm

import java.util.Arrays;

class Solution {
    public int solution(int n, int[] lost, int[] reserve) {
        int answer = 0;
        int i, j;

        answer = n - lost.length;
        Arrays.sort(lost);
        Arrays.sort(reserve);

        //여벌이 있는 학생 중 잃어버려서 빌려줄 수 없는 학생 찾아내기
        for(i = 0; i <  lost.length; i++)
        {
            for(j = 0; j < reserve.length; j++){
                if(reserve[j] == lost[i]){
                    reserve[j] = -10;
                    lost[i] = -10;
                    answer++;
                    break;
                }
            }
        }
        
        //나머지 
        for(i = 0; i <  lost.length; i++)
        {
            for(j = 0; j < reserve.length; j++){
                if(reserve[j] == lost[i] + 1 || reserve[j] == lost[i] - 1){
                    reserve[j] = -10; 
                    answer++;
                    break;
                }
            }
        }
        
        return answer;
    }
}

0개의 댓글