๐Ÿ“ฌ algorithm

[๋ฌธ์ œ ํ’€์ด] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ฒด์œก๋ณต(java)

jcowwk 2024. 5. 27. 20:46

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆ˜์—ด๊ณผ ๊ตฌ๊ฐ„ ์ฟผ๋ฆฌ2(java)


ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ ํ’€์ด ์ž…๋‹ˆ๋‹ค !

์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” :)

 

1. ์ฒ˜์Œ ์ œ์ถœํ•œ ์ฝ”๋“œ

2. ๋‹ค์Œ ์ œ์ถœํ•œ ์ฝ”๋“œ


1. ์ฒ˜์Œ ์ œ์ถœํ•œ ์ฝ”๋“œ

import java.util.Arrays;

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] - 1 == reserve[j] || lost[i] + 1 == reserve[j]) {
                    answer++;
                    reserve[j] = -1;
                    break;
                }
            }
        }
        
        return answer;
    }
}

 

 

๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ์•ž ์‚ฌ๋žŒ๊ณผ ๋’ท ์‚ฌ๋žŒ์—๊ฒŒ ๋นŒ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์—ฌ ์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹คํ–‰ํ–ˆ์„ ๋•Œ๋Š” ์ž˜ ์ž‘๋™์ด ๋˜๋Š”๋ฐ ์ œ์ถœ์„ ํ–ˆ์„ ๋•Œ๋Š” ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ์—์„œ ์‹คํŒจํ–ˆ๋‹ค.

์–ด๋–ค ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์€๊ฑด์ง€์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ , ์กฐ๊ฑด๋„ ๋‹ค์‹œ ์‚ดํŽด๋ดค๋‹ค.

๊ทธ๋žฌ๋Š”๋ฐ๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๊ณ„์† ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ฒ€์ƒ‰์„ ํ•ด๋ดค๋”๋‹ˆ ๋‹ต์ด ๋‚˜์™”๋‹ค.

 

2. ๋‹ค์Œ ์ œ์ถœํ•œ ์ฝ”๋“œ

import java.util.Arrays;

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++) {    
                if (lost[i] - 1 == reserve[j] || lost[i] + 1 == reserve[j]) {
                    answer++;
                    reserve[j] = -1;
                    break;
                }
            }
        }
        
        return answer;
    }
}

 

"์—ฌ๋ถ„์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋„ ์žƒ์–ด๋ฒ„๋ฆด ์ˆ˜๊ฐ€ ์žˆ๋‹ค." ๋ผ๋Š” ์กฐ๊ฑด์ด ์žˆ์—ˆ๋Š”๋ฐ, 2๋ฒˆ ํ•™์ƒ์ด ์—ฌ๋ถ„์˜ ์ฒด์œก๋ณต์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ 2๋ฒˆ ํ•™์ƒ์ด ๊ฐ€์ ธ์˜จ ์—ฌ๋ถ„์˜ ์ฒด์œก๋ณต์„ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐ์น˜ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋‹ˆ๊นŒ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ณณ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ๊ผผ๊ผผํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์•ผ๊ฒ ๋‹ค.