정수 집합 S가 주어졌을때, 다음 조건을 만족하는 구간 [A, B]를 좋은 구간이라고 한다.
A와 B는 양의 정수이고, A < B를 만족한다.
A ≤ x ≤ B를 만족하는 모든 정수 x가 집합 S에 속하지 않는다.
집합 S와 n이 주어졌을 때, n을 포함하는 좋은 구간의 개수를 구해보자.
1 ≤ L ≤ 50
집합 S에는 중복되는 정수가 없다.
집합 S에 포함된 모든 정수는 1보다 크거나 같고, 1,000보다 작거나 같다.
1 ≤ n ≤ (집합 S에서 가장 큰 정수)
첫째 줄에 집합 S의 크기 L이 주어진다. 둘째 줄에는 집합에 포함된 정수가 주어진다. 셋째 줄에는 n이 주어진다.
첫째 줄에 n을 포함하는 좋은 구간의 개수를 출력한다.
4
1 7 14 10
2
4
const fs = require('fs');
let [L, num, n] = fs.readFileSync(0, 'utf-8').toString().trim().split('\n');
L = Number(L);
num = num.trim().split(' ').map(Number);
n = Number(n);
num.sort((a, b) => a - b);
num.unshift(0);
let answer = [];
for (let i = 0; i < L; i++) {
if (num[i] <= n && n <= num[i + 1]) {
for (let j = num[i] + 1; j < num[i + 1]; j++) {
for (let k = j + 1; k < num[i + 1]; k++) {
if (j <= n && n <= k) {
answer.push([j, k]);
}
}
}
}
}
console.log(answer.length);
잔실수만 고치면 원트에도 깰 수 있는 문제였는데... 아쉬운 문제