Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- React #Hooks
- Default parameter
- optional chanining
- Nullish Coalescing Operator
- Python #CodeUp
- Python #Baekjoon
- react
- 프로그래머스
- Next
- spread operation
- nextjs
- HTML #CSS
- Template literals
- Python
- css #html
- Redux
- CSS
- HTML
- es6
- JavaScript
- 카카오맵 api
- firebase
- Hooks
- es11
- BOJ
- React Kakao map
- 카카오맵
Archives
- Today
- Total
거북이개발자
[인프런] 두 배열 합치기 본문
0. 제목
- 두 배열 합치기
1. 문제
2. 풀이 1차
- for 문으로 배열의 shift를 이용했다.
3. 코드 1차
function solution(arr1, arr2) {
let answer = [];
while (true) {
var a = arr1[0];
var b = arr2[0];
if (arr1.length === 0) {
answer = [...answer, ...arr2]
break;
} else if (arr2.length === 0) {
answer = [...answer, ...arr1]
break;
}
if (a >= b) {
if (answer.includes(b) === false) {
answer.push(arr2.shift())
}
else {
arr2.shift()
}
}
else {
if (answer.includes(a) === false) {
answer.push(arr1.shift())
}
else {
arr1.shift()
}
}
}
return answer;
}
let a = [1, 3, 5];
let b = [2, 3, 6, 7, 9];
console.log(solution(a, b));
2. 풀이 2차
- 2포인트 알고리즘 이용
p1, p2를 이용한다.
3. 코드 2차
function solution(arr1, arr2) {
let answer = [];
var p1=0, p2=0;
var n1=arr1.length;
var n2=arr2.length;
while(p1<n1 && p2<n2){
if(arr1[p1]>=arr2[p2]) answer.push(arr2[p2++])
else answer.push(arr1[p1++])
}
while(p1<n1){
answer.push(arr1[p1++])
}
while(p2<n2){
answer.push(arr2[p2++])
}
return answer;
}
let a = [1, 3, 5];
let b = [2, 3, 6, 7, 9];
console.log(solution(a, b));
'Algorithm(JavaScript)' 카테고리의 다른 글
[인프런] 연속 부분 수열2 (2) | 2021.07.07 |
---|---|
[인프런] 연속 부분수열1 (0) | 2021.07.07 |
[인프런] 공통원소 구하기 (0) | 2021.07.06 |
[프로그래머스] 문자열 압축 (0) | 2021.07.06 |
[프로그래머스] 문자열 압축 (0) | 2021.07.05 |
Comments