undefined
[백준] 3273 두 수의 합 - Node/Js 본문
반응형
문제 설명
3273번: 두 수의 합
n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는
www.acmicpc.net
문제 풀이
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
let count = 0;
let N = 0;
let t = 0;
rl.on('line', function (line) {
if (!count) {
N = +line;
} else if (count === 1) {
input = line.split(' ').map(e => +e);
} else {
t = +line;
}
count++;
}).on('close', function () {
solution(input, N, t);
process.exit();
});
const solution = (input, n, t) => {
// input 정렬
input.sort((a, b) => a - b);
// left right count 정의
let left = 0;
let right = input.length - 1;
let count = 0;
// left가 더 커질때까지 while
while (left < right) {
// sum = input[left] + input[right]
let sum = input[left] + input[right];
// sum = t 면 count++ left++
if (sum === t) {
count++;
left++;
}
// sum > t 면 right--
if (sum > t) right--;
// sum < t 면 left++
if (sum < t) left++;
}
// count 리턴
console.log(count);
};
배운 점
전형적인 투포인트 문제
반응형
'Coding Test' 카테고리의 다른 글
[백준] 후위 표기식2 1935번 - Javascript / Node.js (0) | 2022.09.08 |
---|---|
[백준] 2559 수열 - Node/js (0) | 2022.07.29 |
[백준] 11728 배열 합치기 - Node/Js (0) | 2022.07.29 |
[프로그래머스] JadenCase - 자바스크립트 (0) | 2022.07.13 |
[프로그래머스] 다리를 지나는 트럭 -자바스크립트 (0) | 2022.07.12 |