Java & Spring/Java Algorithm

[JAVA][Python][์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ; ๋จธ์ง€

Rainbow๐ŸŒˆCoder 2022. 12. 29. 01:26
728x90

Java

// 2๊ฐœ์˜ ์ •์ˆ˜ ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ : 2๊ฐœ์˜ ๋ฐฐ์—ด์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค
// ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋กœ ๋ณ‘ํ•ฉ
import java.util.Arrays;
public class App {
    public static void main(String[] args) throws Exception {
        //[1] Input
        int[] first = {1,3,5};
        int[] second = {2,4,6};
        int M = first.length;
        int N = second.length; // M : N ๊ด€ํ–‰
        int[] merge = new int[N+M];
        int i = 0; int j=0; int k = 0; //i,j,k ๊ด€ํ–‰
        

        //[2] Process : Merge
        while(i< M && j<M){ //๋‘˜์ค‘ํ•˜๋‚˜๋ผ๋„๋ฐฐ์—ด์˜๋์—๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€
            if(first[i]<second[j]){
                merge[k++] = first[i++];
            } else {
                merge[k++] = second[j++];
            }
        }
        while(i< M){
            merge[k++] = first[i++];
        }
        while(j<M){
            merge[k++] = second[j++];
        }

        //[3] Output
        for(int item :merge) {
            System.out.print(item+ " ");
        }
        System.out.println();

    }
}

Python

# [1] Input
first = [1, 3, 5]
second = [2, 4]
M = len(first)
N = len(second)
merge = [0] * (M + N)
i = 0;
j = 0;
k = 0;
# [2] Process
while i < M and j < N:
    if first[i] < second[j]:
        merge[k] = first[i];
        k += 1;
        i += 1
    else:
        merge[k] = second[j];
        k += 1;
        j += 1

while i < M:
    merge[k] = first[i]
    k += 1
    i += 1
while i < N:
    merge[k] = second[j]
    k += 1
    j += 1

# [3] Output
for item in merge:
    print(item, end = ", ")
print()
728x90