Deep_Dev
article thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/42862

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 


๋ฌธ์ œ์ž์ฒด๋Š” ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ค์šด ํŽธ์ด ์•„๋‹Œ๋ฐ..

ํžˆ๋“  ํ…Œ์ผ€์—์„œ ์˜ค๋‹ต์ด ๋งŽ์ด ๋‚˜์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋งŽ์ด ์ƒ๊ฐํ•ด์•ผํ•œ๋‹ค .. 

 

๊ทธ์ค‘์— ํ•˜๋‚˜๊ฐ€ ์ผ๋‹จ

์ •๋ ฌ์„ ํ•ด์•ผํ•˜๋Š”๊ฒƒ์ด๊ณ ,

๋‘๋ฒˆ ์งธ๋Š” ๋ณธ์ธ์ด ์—ฌ๋ฒŒ์˜ท์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ๋ถ„์‹คํ•œ ๊ฒฝ์šฐ. ์ด๋Ÿด๋•Œ ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์„œ ์ •์ž‘ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ๋นŒ๋ ค์ž…์ง€ ๋ชปํ•œ๋‹ค.

์ฆ‰, ์—ฌ๋ฒŒ์˜ท์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ๋ถ„์‹คํ•œ ํ•™์ƒ -> ๋ฐฐ์—ด์—์„œ ์ œ์™ธ์‹œํ‚ค๊ณ  answer์„ ์ฆ๊ฐ€ ์‹œ์ผœ์•ผํ•œ๋‹ค..

 

 

import java.util.*;
class Solution {
    public int solution(int n, int[] lost, int[] reserve) {
        int answer = n - lost.length;

        Arrays.sort(lost);
        Arrays.sort(reserve);

        // ๋ณธ์ธ์ด ๋„๋‚œ๋‹นํ–ˆ๋Š”๋ฐ -> ์—ฌ๋ฒŒ์˜ท์ด ์žˆ๋Š” ๊ฒฝ์šฐ = ์ œ์™ธ์‹œํ‚ค๊ธฐ
        for(int i=0; i<lost.length; i++){
            for(int j=0; j<reserve.length; j++){
                if(lost[i]==reserve[j]){ // ๋ถ„์‹ค & ์—ฌ๋ฒŒ์˜ท
                    answer++;
                    lost[i]=-1;
                    reserve[j]=-1;
                    break;
                }
            }
        }
        // ๋นŒ๋ ค์ฃผ๋Š” ๊ฒฝ์šฐ
        for(int i=0; i<lost.length; i++){
            for(int j=0; j<reserve.length; j++){
                // ์žƒ์–ด๋ฒ„๋ฆฐ ์‚ฌ๋žŒ๊บผ๋ณด๋‹ค 1์ž‘๊ฑฐ๋‚˜ 1ํฐ๊ฑฐ ๊ฐ€๋Šฅํ•˜๋‹ˆ๊นŒ
                if((lost[i]-1 == reserve[j]) || (lost[i]+1 == reserve[j])){
                    answer++;
                    reserve[j]=-1;
                    break;
                }
            }
        }
        return answer;
    }
}