Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a69f26a

Browse files
task Radency ver.1 JS - test commit
1 parent 0272fe7 commit a69f26a

File tree

2 files changed

+157
-70
lines changed

2 files changed

+157
-70
lines changed
Lines changed: 69 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,86 @@
11
<!DOCTYPE html>
22
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>21 - Simplified Budget || Advent of JavaScript</title>
8+
<link rel="stylesheet" href="./styles.css" />
9+
</head>
310

4-
<head>
5-
<meta charset="UTF-8">
6-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
7-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8-
<title>21 - Simplified Budget || Advent of JavaScript</title>
9-
<link rel="stylesheet" href="./styles.css" />
10-
</head>
11-
12-
<body>
13-
14-
<div class="wrapper">
15-
<div class="add-panel">
16-
<h1>Simplified Budget</h1>
17-
<div class="field">
18-
<input type="text" name="income" id="income" />
19-
<label for="income">Budget Amount</label>
20-
</div>
21-
<div class="add-expense">
11+
<body>
12+
<div class="wrapper">
13+
<div class="add-panel">
14+
<h1>Simplified Budget</h1>
2215
<div class="field">
23-
<input type="text" name="expense-name" id="expense-name" />
24-
<label for="expense-name">Expense</label>
16+
<input type="text" name="income" id="income" />
17+
<label for="income">Budget Amount</label>
2518
</div>
26-
<div class="field">
27-
<input type="text" name="expense-amount" id="expense-amount" />
28-
<label for="expense-amount">Amount</label>
19+
<div class="add-expense">
20+
<div class="field">
21+
<input type="text" name="expense-name" id="expense-name" />
22+
<label for="expense-name">Expense</label>
23+
</div>
24+
<div class="field">
25+
<input type="text" name="expense-amount" id="expense-amount" />
26+
<label for="expense-amount">Amount</label>
27+
</div>
28+
<button
29+
name="add-expense-button"
30+
id="add-expense-button"
31+
class="add-expense-button"
32+
>
33+
<img src="./images/plus.svg" alt="Plus" />
34+
</button>
2935
</div>
30-
<button name="add-expense-button" id="add-expense-button" class="add-expense-button">
31-
<img src="./images/plus.svg" alt="Plus" />
32-
</button>
3336
</div>
34-
</div>
3537

36-
<div class="expenses-panel">
37-
<h2>Expenses</h2>
38-
<div class="expense-table">
38+
<div class="expenses-panel">
39+
<h2>Expenses</h2>
40+
<div class="expense-table">
41+
<div>Starbucks</div>
42+
<div>5ドル.54</div>
43+
<div class="delete">
44+
<button name="delete-expense" class="delete-expense">
45+
<img src="./images/trash.svg" alt="Tash" />
46+
</button>
47+
</div>
3948

40-
<div>Starbucks</div>
41-
<div>5ドル.54</div>
42-
<div class="delete">
43-
<button name="delete-expense" class="delete-expense">
44-
<img src="./images/trash.svg" alt="Tash" />
45-
</button>
46-
</div>
49+
<div>Starbucks</div>
50+
<div>5ドル.54</div>
51+
<div class="delete">
52+
<button name="delete-expense" class="delete-expense">
53+
<img src="./images/trash.svg" alt="Tash" />
54+
</button>
55+
</div>
4756

48-
<div>Starbucks</div>
49-
<div>5ドル.54</div>
50-
<div class="delete">
51-
<button name="delete-expense" class="delete-expense">
52-
<img src="./images/trash.svg" alt="Tash" />
53-
</button>
57+
<div>Starbucks</div>
58+
<div>5ドル.54</div>
59+
<div class="delete">
60+
<button name="delete-expense" class="delete-expense">
61+
<img src="./images/trash.svg" alt="Tash" />
62+
</button>
63+
</div>
5464
</div>
55-
56-
<div>Starbucks</div>
57-
<div>5ドル.54</div>
58-
<div class="delete">
59-
<button name="delete-expense" class="delete-expense">
60-
<img src="./images/trash.svg" alt="Tash" />
61-
</button>
62-
</div>
63-
6465
</div>
65-
</div>
6666

67-
<div class="summary-panel">
68-
<div class="summary-item">
69-
<div class="summary-label">Income</div>
70-
<div class="summary-amount">42,000ドル.00</div>
71-
</div>
67+
<div class="summary-panel">
68+
<div class="summary-item">
69+
<div class="summary-label">Income</div>
70+
<div class="summary-amount">42,000ドル.00</div>
71+
</div>
7272

73-
<div class="summary-item">
74-
<div class="summary-label">Expenses</div>
75-
<div class="summary-amount">42,000ドル.00</div>
76-
</div>
73+
<div class="summary-item">
74+
<div class="summary-label">Expenses</div>
75+
<div class="summary-amount">42,000ドル.00</div>
76+
</div>
7777

78-
<div class="summary-item">
79-
<div class="summary-label">Balance</div>
80-
<div class="summary-amount">42,000ドル.00</div>
78+
<div class="summary-item">
79+
<div class="summary-label">Balance</div>
80+
<div class="summary-amount">42,000ドル.00</div>
81+
</div>
8182
</div>
8283
</div>
83-
</div>
84-
85-
</body>
86-
87-
</html>
84+
<script src="./../js.js"></script>
85+
</body>
86+
</html>

‎day21/21-PROJECT-FILES/js.js

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
// Завдання до виконання мовою JavaScript
2+
// Ділан і Кейт хочуть подорожувати між кількома містами А, В, С.... Кейт має на аркуші паперу список відстаней між цими містами. ls = [51, 56, 58, 59, 61]. Ділан втомився їздити, і він каже Кейт, що не хоче їхати більше t = 174 милі, і він відвідає лише 3 міста. Які відстані, а отже, які міста вони оберуть, щоб сума відстаней була якомога більшою, щоб догодити Кейт та Ділану?
3+
4+
// Приклад:
5+
// Маючи список ls та 3 міста для відвідування, вони можуть зробити вибір між:
6+
// ls = [51, 56, 58, 59, 61];
7+
// [51,56,58], [51,56,59], [51,56,61], [51,58,59], [51, 58,61], [51,59,61], [56,58,59], [56,58,61], [56,59,61], [58,59,61].
8+
9+
// Тоді суми відстаней складають: 165, 166, 168, 168, 170, 171, 173, 175, 176, 178.
10+
11+
// Найбільшою можливою сумою з урахуванням обмеження в 174 є 173, а відстані до 3 відповідних міст - [56, 58, 59].
12+
13+
// Функція chooseOptimalDistance приймає параметри:
14+
// t (максимальна сума відстаней, ціле число >= 0),
15+
// k (кількість міст, які потрібно відвідати, k> = 1),
16+
// ls (список відстаней, всі відстані є додатними або нульовими цілими числами, і цей список містить принаймні один елемент).
17+
18+
// Функція повертає "найкращу" суму, тобто найбільшу можливу суму k відстаней, менших або рівних заданій межі t, якщо ця сума існує, або якщо не існує - null.
19+
// Примітка: не змінюйте змінну ls.
20+
21+
// Важливо: треба вирішити завдання для будь-якого k, а не тільки 3.
22+
23+
// Початковий код
24+
const chooseOptimalDistance = (t, k, ls) => {
25+
t = 174;
26+
k = 3;
27+
ls = [51, 56, 58, 59, 61];
28+
console.log(ls);
29+
// - 107 | 114 | 117 | 120 |
30+
const arr = [];
31+
32+
// let maxDistance = arr[0];
33+
let summ = 0;
34+
let counter = 0;
35+
36+
for (let i = 0; i < ls.length; i++) {
37+
summ = ls[i];
38+
counter++;
39+
console.log("counter : " + counter);
40+
console.log(`ls[${i}] - ${summ}`);
41+
let n = 0;
42+
43+
for (let j = 1; j < k; j++) {
44+
summ += ls[i + j];
45+
counter++;
46+
console.log("counter : " + counter);
47+
console.log(`ls[${i}] + ls[${j}] | summ = ${summ}`);
48+
49+
if (j === k - 1 && i + j + n < ls.length) {
50+
arr.push(summ);
51+
// summ -= ls[i + j];
52+
53+
summ -= ls[i + j];
54+
counter--;
55+
56+
n++;
57+
console.log(`______________double loop cycle__No: ${n}____________`);
58+
59+
summ -= ls[i + j + n - 1];
60+
summ += ls[i + j + n];
61+
62+
console.log("counter : " + counter);
63+
console.log(`ls[${i}] + ls[${j + n}] | summ = ${summ}`);
64+
65+
counter++;
66+
j--;
67+
console.log(`____________________________________________________`);
68+
} else if (j === k - 1 && i + j + n === ls.length - 1) {
69+
arr.push(summ);
70+
console.log("______________END OF LOOP______________");
71+
summ = summ - ls[i + j + n];
72+
n++;
73+
summ += ls[i + j + n];
74+
}
75+
}
76+
arr.push(summ);
77+
console.log(arr);
78+
}
79+
// arr.push(summ);
80+
return console.log(arr);
81+
82+
// return null;
83+
};
84+
85+
chooseOptimalDistance();
86+
87+
// chooseOptimalDistance(174, 3, [51, 56, 58, 59, 61]); //173
88+
// chooseOptimalDistance(163, 3, [50]); // null

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /