728x90
[Javascript] (백준 11728) 배열 합치기
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이 (2 포인터)
//* 인풋 (디폴트)
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().split('\n');
//* 인풋 (커스텀)
const n = +input[0][0];
const m = +input[0][1];
const numsA = input[1].split(' ').map((num) => +num);
const numsB = input[2].split(' ').map((num) => +num);
//* 함수 콜 (고정)
const answer = solution(numsA, numsB);
console.log(answer.trim());
//* 로직함수
function solution(numsA, numsB) {
let p1 = 0;
let p2 = 0;
let result = [];
while (p1 <= numsA.length || p2 <= numsB.length) {
if (p1 >= numsA.length && p2 >= numsB.length) {
break;
}
if (p1 >= numsA.length) {
result.push(numsB[p2]);
p2++;
continue;
}
if (p2 >= numsB.length) {
result.push(numsA[p1]);
p1++;
continue;
}
if (numsA[p1] < numsB[p2]) {
result.push(numsA[p1]);
p1++;
} else {
result.push(numsB[p2]);
p2++;
}
}
return result.join(' ');
}
내 풀이 2 (JS 메서드 이용)
//* 인풋 (디폴트)
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().split('\n');
//* 인풋 (커스텀)
const n = +input[0][0];
const m = +input[0][1];
const numsA = input[1].split(' ').map((num) => +num);
const numsB = input[2].split(' ').map((num) => +num);
//* 함수 콜 (고정)
const answer = solution(numsA, numsB);
console.log(answer.trim());
//* 로직함수
function solution(numsA, numsB) {
let result = [];
result.push(...numsA);
result.push(...numsB);
return result.sort((a, b) => a - b).join(' ');
}
배운 점, 느낀 점
array.push() 안에 여러 원소를 한꺼번에 푸시 할 수 있다.
여기에 Destucturing으로 더 편하게 넣을수 있다.
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (백준 20291) 파일 정리 (0) | 2022.06.27 |
---|---|
[Javascript] (백준 1259) 팰린드롬 수 (0) | 2022.06.27 |
[Javascript] (백준 10816) 숫자 카드2 (0) | 2022.06.26 |
[Javascript] (백준 2217) 로프 (0) | 2022.06.26 |
[Javascript] (백준 1764) 듣보잡 (0) | 2022.06.26 |
[Javascript] (백준 20053) 최소, 최대2 (0) | 2022.06.25 |
[Javascript] (백준 1212) 8진수 2진수 (0) | 2022.06.25 |
[Javascript] (백준 2729) 이진수 덧셈 (0) | 2022.06.25 |
댓글