알고리즘/프로그래머스

체육복

베리영young 2023. 12. 30. 02:09

사용 알고리즘: 그리디..?

사용 언어: java

 

import java.util.*;
import java.io.*;

class Solution {
    static int[] PEkit;
    public int solution(int n, int[] lost, int[] reserve) {
        PEkit = new int[n];
        Arrays.fill(PEkit, 1);
        
        for(int i: reserve){
            PEkit[i-1]++;
        }
        for(int i: lost){
            PEkit[i-1]--;
        }
        
        //        
        int answer = 0;
        
        for(int i=0; i<n; i++){
            if(PEkit[i]!=0) answer++;
            else{
                if(i!=0 && PEkit[i-1]==2){
                    PEkit[i-1]--;
                    PEkit[i]++;
                    answer++;
                }
                else if(i!=n-1 && PEkit[i+1]==2){
                    PEkit[i+1]--;
                    PEkit[i]++;
                    answer++;
                }
            }
        }
        
        return answer;
    }
}

 

 

 

 

'알고리즘 > 프로그래머스' 카테고리의 다른 글

K번째수  (0) 2023.12.30
등굣길  (1) 2023.12.30
네트워크  (1) 2023.12.29
가장 먼 노드  (1) 2023.12.27
타겟 넘버  (2) 2023.12.27