Skip to content

Commit bed542b

Browse files
Merge pull request #561 from egg-silver/main
[이지은] 72차 라이브코테 제출
2 parents 9d79a97 + 4da2e2f commit bed542b

File tree

4 files changed

+137
-0
lines changed

4 files changed

+137
-0
lines changed

live7/test71/문제1/이지은.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const input = require('fs')
2+
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
3+
.toString()
4+
.trim()
5+
.split(' ')
6+
.map(Number);
7+
8+
function solution(input) {
9+
const [n, m] = input;
10+
11+
let arr = Array.from({ length: n }, (_, idx) => idx + 1);
12+
13+
let answer = [];
14+
function permutation(tempArr, used) {
15+
if (tempArr.length === m) {
16+
answer.push([...tempArr]);
17+
return;
18+
}
19+
20+
for (let i = 0; i < arr.length; i++) {
21+
if (!used[i]) {
22+
used[i] = true;
23+
permutation([...tempArr, arr[i]], used);
24+
used[i] = false;
25+
}
26+
}
27+
}
28+
29+
permutation([], Array(n).fill(false));
30+
return answer.map((x) => x.join(' ')).join('\n');
31+
}
32+
console.log(solution(input));

live7/test72/문제1/이지은.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
const input = require('fs')
2+
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
3+
.toString()
4+
.trim()
5+
.split('\n');
6+
7+
function solution(input) {
8+
const n = input[0];
9+
const arr = input.slice(1);
10+
11+
const 인접리스트 = {};
12+
13+
for (let i = 0; i < n; i++) {
14+
const [node, left, right] = arr[i].split(' ');
15+
인접리스트[node] = [left, right];
16+
}
17+
18+
let preOrderResult = '';
19+
function preOrder(node) {
20+
if (node === '.' || !node) return;
21+
preOrderResult += node;
22+
preOrder(인접리스트[node][0]);
23+
preOrder(인접리스트[node][1]);
24+
}
25+
26+
let inOrderResult = '';
27+
function inOrder(node) {
28+
if (node === '.' || !node) return;
29+
inOrder(인접리스트[node][0]);
30+
inOrderResult += node;
31+
inOrder(인접리스트[node][1]);
32+
}
33+
34+
let postOrderResult = '';
35+
function postOrder(node) {
36+
if (node === '.' || !node) return;
37+
postOrder(인접리스트[node][0]);
38+
postOrder(인접리스트[node][1]);
39+
postOrderResult += node;
40+
}
41+
42+
preOrder('A');
43+
inOrder('A');
44+
postOrder('A');
45+
46+
return [preOrderResult, inOrderResult, postOrderResult].join('\n');
47+
}
48+
49+
console.log(solution(input));

live7/test72/문제2/이지은.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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+
let firstCase = true;
10+
const outputs = [];
11+
12+
for (let i = 0; i < input.length - 1; i++) {
13+
let k = input[i][0];
14+
let arr = input[i].slice(1);
15+
const result = [];
16+
const temp = [];
17+
18+
function recursive(depth, start) {
19+
if (depth === 6) {
20+
result.push(temp.join(' '));
21+
return;
22+
}
23+
24+
for (let i = start; i < k; i++) {
25+
const curr = arr[i];
26+
temp.push(curr);
27+
recursive(depth + 1, i + 1);
28+
temp.pop();
29+
}
30+
}
31+
32+
recursive(0, 0);
33+
34+
if (!firstCase) outputs.push('');
35+
firstCase = false;
36+
37+
outputs.push(...result);
38+
}
39+
return outputs.join('\n');
40+
}
41+
console.log(solution(input));

live7/test72/문제3/이지은.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function solution(food) {
2+
var answer = '';
3+
let arr = food.slice(1).map((x) => Math.floor(x / 2));
4+
5+
let temp = [];
6+
for (let i = 0; i < arr.length; i++) {
7+
if (arr[i] > 0) {
8+
temp.push((i + 1).toString().repeat(arr[i]));
9+
}
10+
}
11+
12+
return (answer = temp.join('') + '0' + temp.reverse().join(''));
13+
}
14+
15+
console.log(solution([1, 3, 4, 6]));

0 commit comments

Comments
 (0)