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
'Java & Spring > Java Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ][์๋ฐ] ์ต๋น๊ฐ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.01.07 |
---|---|
[JAVA][์๊ณ ๋ฆฌ์ฆ] ์ด์ง๊ฒ์ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.27 |
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.19 |
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์์ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.19 |
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ทผ์ฟ๊ฐ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.17 |