본문 바로가기

Problem Solving/programmers

[Programmers] Level 1 체육복.java

728x90
반응형
SMALL

프로그래머스 Level 1 체육복을 자바를 통해 풀어보았다. 

 

programmers.co.kr/learn/courses/30/lessons/42862

 

코딩테스트 연습 - 체육복

점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번

programmers.co.kr

 

 

원본 코드는 깃허브에!!

 

tomy9729/Algorithm

🐗 내가 직접 작성한 내 코드 🐗. Contribute to tomy9729/Algorithm development by creating an account on GitHub.

github.com



Level 1 - 체육복.java

#Level 1 체육복.java
import java.util.Arrays;
class Solution {
    public int solution(int n, int[] lost, int[] reserve) {
        int[] delete = new int[0];
        for(int i=0;i<lost.length;i++){
            for(int j=0;j<reserve.length;j++){
                if(lost[i]==reserve[j]){
                    int add = delete.length;
                    delete = Arrays.copyOf(delete,add+1);
                    delete[add] = lost[i];
                    break;
                }
            }
        }
        for(int i=0;i<delete.length;i++){
            for(int j=0;j<lost.length;j++){
                if(delete[i]==lost[j]){
                    lost[j]=0;
                }
            }
            for(int j=0;j<reserve.length;j++){
                if(delete[i]==reserve[j]){
                    reserve[j]=0;
                }
            }
        }
        
        int lost_count = 0;
        for(int i=0;i<lost.length;i++){
            if(lost[i]!=0){
                lost_count++;
            }
        }
        int stu_num = n - lost_count;
        
        for(int i=0;i<lost.length;i++){
            for(int j=0;j<reserve.length;j++){
                if(lost[i] != 0 && reserve[j] !=0 && lost[i]-1 == reserve[j]){
                    lost[i] = 0;
                    reserve[j] = 0;
                    stu_num ++;
                }
                else if((lost[i] != 0) && reserve[j] !=0 && (lost[i]+1 == reserve[j])){
                    lost[i] = 0;
                    reserve[j] = 0;
                    stu_num ++;
                } 
            }
        }
        int answer = stu_num;
        return answer;
    }
}

 

728x90
반응형
SMALL