Skip to content

Commit fe9460a

Browse files
Merge pull request #607 from eric-hjh/main
[황장현] 88차 라이브 코테 제출
2 parents ce31ae7 + acb87d1 commit fe9460a

File tree

3 files changed

+90
-0
lines changed

3 files changed

+90
-0
lines changed

live8/test88/문제1/황장현.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
function solution(sequence, k) {
2+
let start = 0;
3+
let end = 0;
4+
let sum = sequence[0];
5+
let minLength = Infinity;
6+
let answer = [];
7+
8+
while (end < sequence.length) {
9+
if (sum === k) {
10+
if (end - start < minLength) {
11+
minLength = end - start;
12+
answer = [start, end];
13+
}
14+
sum -= sequence[start++];
15+
} else if (sum < k) {
16+
end++;
17+
if (end < sequence.length) sum += sequence[end];
18+
} else {
19+
sum -= sequence[start++];
20+
}
21+
}
22+
23+
return answer;
24+
}
25+
26+
console.log(solution([1, 1, 1, 2, 3, 4, 5], 5));

live8/test88/문제2/황장현.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
const input = require('fs')
2+
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
3+
.toString()
4+
.trim()
5+
.split('\n')
6+
.map((el) => el.split(' ').map(Number));
7+
8+
function solution(input) {
9+
const [N, M] = input[0];
10+
const A = input[1];
11+
const B = input[2];
12+
let p1 = 0;
13+
let p2 = 0;
14+
15+
const result = [];
16+
17+
while (p1 < N && p2 < M) {
18+
if (A[p1] < B[p2]) {
19+
result.push(A[p1++]);
20+
} else if (A[p1] > B[p2]) {
21+
result.push(B[p2++]);
22+
} else {
23+
result.push(A[p1], B[p2]);
24+
p1++;
25+
p2++;
26+
}
27+
}
28+
while (p1 < N) result.push(A[p1++]);
29+
while (p2 < M) result.push(B[p2++]);
30+
31+
return result.join(' ');
32+
}
33+
34+
console.log(solution(input));

live8/test88/문제3/황장현.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function solution(n, lost, reserve) {
2+
let 진짜두고온애들 = lost
3+
.filter((l) => !reserve.includes(l))
4+
.sort((a, b) => a - b);
5+
6+
let 진짜빌려줄수있는애들 = reserve
7+
.filter((r) => !lost.includes(r))
8+
.sort((a, b) => a - b);
9+
10+
let answer = n - 진짜두고온애들.length;
11+
12+
for (let i = 0; i < 진짜두고온애들.length; i++) {
13+
const 진짜두고온애 = 진짜두고온애들[i];
14+
15+
for (let j = 0; j < 진짜빌려줄수있는애들.length; j++) {
16+
const 진짜빌려줄수있는애 = 진짜빌려줄수있는애들[j];
17+
if (
18+
진짜빌려줄수있는애 === 진짜두고온애 - 1 ||
19+
진짜빌려줄수있는애 === 진짜두고온애 + 1
20+
) {
21+
answer += 1;
22+
진짜빌려줄수있는애들[j] = -1;
23+
break;
24+
}
25+
}
26+
}
27+
return answer;
28+
}
29+
30+
console.log(solution(5, [2, 4], [1, 3, 5]));

0 commit comments

Comments
 (0)