๐Ÿ“ฌ algorithm

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

jcowwk 2024. 4. 12. 15:44

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


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

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

 

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

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


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

class Solution {
    public int min(int a, int b) {
        if (a > b) {
            return b;
        } else {
            return a;
        }
    }
    
    public int[] solution(int[] arr, int[][] queries) {
        int[] answer = new int[queries.length];
        
        for (int i = 0; i < queries.length; i++) {
            int max = 999;
            int start = queries[i][0];
            int end = queries[i][1];
            int number = queries[i][2];
            
            for (int j = start; j <= end; j++) {
                if (arr[j] > number) {
                    max = min(max, arr[j]);
                }
            }
            
            if (max == 999) {
                max = -1;
            }
            
            answer[i] = max;
        }
        
        return answer;
    }
}

 

์ฝ”๋“œ ์‹คํ–‰์„ ํ–ˆ์„ ๋•Œ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์ œ๋Œ€๋กœ ๋‚˜์™€์„œ ์ œ์ถœ์„ ํ•ด๋ณด๋‹ˆ ๋ชจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค.

๋ถ„๋ช… ๋กœ์ง์—๋Š” ์ด์ƒ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•ด์„œ ์˜์•„ํ–ˆ๋‹ค.

์•Œ๊ณ ๋ณด๋‹ˆ max๊ฐ’์ด 999๋กœ ์ˆ˜๊ฐ€ ์กด์žฌํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ๊ณ ๋ คํ•ด์•ผ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •์ด ์ž˜๋ชป๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

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

class Solution {
    public int[] solution(int[] arr, int[][] queries) {
        int[] answer = new int[queries.length];

        for (int i = 0; i < queries.length; i++) {
            int max = -1;
            int start = queries[i][0];
            int end = queries[i][1];
            int number = queries[i][2];

            for (int j = start; j <= end; j++) {
                if (arr[j] > number) {
                    max = (max == -1) ? arr[j] : Math.min(max, arr[j]);
                }
            }

            answer[i] = max;
        }

        return answer;
    }
}

 

์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด์„œ ์ž‘์€ ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๋ถ€๋ถ„๋„ ์ˆ˜์ •ํ•˜์—ฌ์„œ ๋” ๊น”๋”ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค.


์š”์ฆ˜ ๊ธฐ์ˆ  ๊ณต๋ถ€ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ ๊ณต๋ถ€๋„ ํ‹ˆํ‹ˆํžˆ ํ•˜๊ณ ์žˆ๋Š”๋ฐ

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ "๊ธฐ๋ณธ" ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ค์šด ๋ฌธ์ œ์™€ ๊ธฐ๋ณธ ๋ฌธ์ œ๋ฅผ ๋™์‹œ์— ํ’€๊ณ ์žˆ๋‹ค.

 

์ƒ๊ฐ๋ณด๋‹ค ๊ธฐ๋ณธ ๋ฌธ์ œ์—์„œ๋„ ์–ด๋ ค์›€์„ ๊ฝค ๊ฒช๊ณ  ์žˆ๊ธฐ์— ๋”๋”์šฑ ๊ธฐ๋ณธ์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋ฉฐ

๋งค์ผ๋งค์ผ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค.