[알고리즘] 3. 배열합치기
1119 단어 Java ScriptalgorithmJava Script
📌풀이
오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성해라.
📌입출력예시
- 배열의 길이 : 3
1 3 5- 배열의 길이 : 5
2 3 6 7 9
🔑KEY
sort() 함수는 쓰지 않고 투 포인터(Two Pointer) 알고리즘을 사용.
- 투 포인터(Two Pointer)
두 개의 포인터를 조작하여 원하는 결과를 얻는 알고리즘
시작점과 끝점이 첫번째 원소의 인덱스를 가리키도록 한다.
현재 부분 합이 M 과 같다면 포인터의 index 를 증가시킨다.
📌풀이
🎨첫번째 풀이
//두 배열 합치기
function solution(arr1 , arr2){
let answer = [];
n = arr1.length;
m = arr2.length;
let p1=p2=0; //포인터 정의
while(p1 < n && p2 < m){
console.log(arr1[p1])
console.log(arr2[p2])
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));
Author And Source
이 문제에 관하여([알고리즘] 3. 배열합치기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mlik14/알고리즘-3.-배열합치기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)