초보 개발자의 일기
두 배열 합치기 본문
728x90
문제

입력
- 첫 번째 줄에 첫 번째 배열의 크기 N
- 두 번째 줄에 N개의 배열 원소가 오름차순
- 세 번째 줄에 두 번째 배열의 크기 M
- 네 번째 줄에 M개의 배열 원소가 오름차순
출력
오름차순으로 정렬된 배열을 출력합니다.
입력 예시
3
1 3 5
5
2 3 6 7 9
출력 예시
1 2 3 3 5 6 7 9
풀이 방법
두 배열을 입력받은 후
배열의 길이 만큼 for문을 돌려 새로운 배열에 push해 배열을 만든다
그 후 새로 만들어진 배열을 sort로 오름차순 정렬을 한다.
내 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
const sol =(a,b)=>{
console.log(a,b);
let result=[];
for (let i=0; i<a.length; i++){
result.push(a[i]);
}
for (let j=0; j<b.length; j++){
result.push(b[j]);
}
let answer=Array.from(result).sort((a,b)=>a-b);
console.log(answer);
}
let a=[1, 3, 5];
let b=[2, 3, 6, 7, 9];
console.log(sol(a, b));
</script>
</body>
</html>
Solution
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr1, arr2){
let answer=[];
let n=arr1.length;
let m=arr2.length;
let p1=p2=0;
while(p1<n && p2<m){
if(arr1[p1]<=arr2[p2]) answer.push(arr1[p1++]);
else answer.push(arr2[p2++]);
}
while(p1<n) answer.push(arr1[p1++]);
while(p2<m) answer.push(arr2[p2++]);
return answer;
}
let a=[1, 3, 5];
let b=[2, 3, 6, 7, 9];
console.log(solution(a, b));
</script>
</body>
</html>
느낌점
전에 배운 sort 오름차순 정렬을 알고 나니 쉬운 문제였다.
728x90