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