์•Œ๊ณ ๋ฆฌ์ฆ˜๐Ÿˆ

๋ฌธ์ œํ’€์ด - ์ •๋ ฌ๋œ ๋‘ ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ, ์—ฐ์†๋œ ๋ถ€๋ถ„ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ํฐ ํ•ฉ ๊ตฌํ•˜๊ธฐ

Jeein0313 2023. 7. 21. 11:51

์ •๋ ฌ๋œ ๋‘ ๋ฐฐ์—ด์„ ๋ฐ›์•„์„œ, ์ „์ฒด ๋ฐฐ์—ด์—์„œ k๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ

 

public int getItemFromTwoSortedArrays(int[] arr1, int[] arr2, int k){
    int arr1_idx=0;
    int arr2_idx=0;

    int arr1_len= arr1.length;
    int arr2_len = arr2.length;

    int[] answer = new int[arr1_len + arr2_len];
    int answer_idx=0;

    while(arr1_idx < arr1_len && arr2_idx < arr2_len){
        if(arr1[arr1_idx] <arr2[arr2_idx])
            answer[answer_idx++] = arr1[arr1_idx++];
        else
            answer[answer_idx++] = arr2[arr2_idx++];
    }

    while (arr1_idx < arr1_len) {
        answer[answer_idx++] = arr1[arr1_idx++];
    }

    while(arr2_idx < arr2_len) {
        answer[answer_idx++] = arr2[arr2_idx++];
    }

    return answer[k];
}

 

 

 

์—ฐ์†๋œ ๋ถ€๋ถ„ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ํฐ ํ•ฉ์„ ๊ตฌํ•˜๊ธฐ

 public int LSCS(int[] arr){
    int subArrSum = 0;
    int max = Integer.MIN_VALUE;
    
    for(int i=0;i<arr.length;i++){
        subArrSum = subArrSum + arr[i];
        if (subArrSum > max){ max = subArrSum;}
        
        if(subArrSum<0)//ํ•ฉ์ด ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ, ์ดˆ๊ธฐํ™”
            subArrSum = 0;
    }
    return max;
}