Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions 주말/haseung/Week18/H-index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function solution(citations) {
citations.sort((a, b) => b - a);

let answers = 0;
for (let i = 0; i < citations.length; i++) {
if (i < citations[i]) {
answers++;
}
}

return answers;
}
7 changes: 7 additions & 0 deletions 주말/haseung/Week18/leetcode/1689.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* @param {string} n
* @return {number}
*/
var minPartitions = function (n) {
return [...n].reduce((acc, cur) => Math.max(acc, cur));
};
27 changes: 27 additions & 0 deletions 주말/haseung/Week18/튜플.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
function solution(s) {
const answer = [];
// console.log(s.slice(2, s.length - 2).split("},{")) //[ '2', '2,1', '2,1,3', '2,1,3,4' ]
// console.log(s.slice(2, s.length - 2).split("},{").map(str=>str.split(',').map(Number).)) //[ [ 2 ], [ 2, 1 ], [ 2, 1, 3 ], [ 2, 1, 3, 4 ] ]
// s.slice(2, s.length - 2)
// .split("},{")
// .map((str) => str.split(",").map(Number))
// .sort((a, b) => a.length - b.length)
// .flatMap((arr) => {
// arr.map((v) => {
// if (!answer.includes(v)) answer.push(v);
// });
// });
// return answer;

const splited = s.slice(2, s.length - 2).split("},{");
const sortedArrayAfterSplit = splited
.map((str) => str.split(",").map(Number))
.sort((a, b) => a.length - b.length);

sortedArrayAfterSplit.flatMap((arr) => {
arr.map((value) => {
if (!answer.includes(value)) answer.push(value);
});
});
return answer;
}
13 changes: 13 additions & 0 deletions 주말/haseung/Week18/행렬의곱셈.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
function solution(arr1, arr2) {
const [row, col] = [arr1.length, arr2[0].length]; //3 2
let answer = new Array(row);
for (let i = 0; i < row; i++) {
answer[i] = new Array(col);
}
for (let i = 0; i < row; i++) {
for (let j = 0; j < col; j++) {
answer[i][j] = arr1[i].reduce((acc, val, index) => acc + val * arr2[index][j], 0);
}
}
return answer;
}
Empty file.
24 changes: 24 additions & 0 deletions 주말/haseung/Week19/괄호회전하기.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
function solution(s) {
const pair = { "}": "{", "]": "[", ")": "(" };

const arr = s.split("");
let result = 0;
const isValid = (arr) => {
const stack = [];
for (let i = 0; i < arr.length; i++) {
const element = arr[i];
if (pair[element] === undefined) stack.push(element);
else {
if (stack[stack.length - 1] !== pair[element]) return false;
stack.pop();
}
}
if (stack.length) return false;
return true;
};
for (let i = 0; i < s.length; i++) {
if (isValid(arr)) result++;
arr.push(arr.shift());
}
return result;
}
21 changes: 21 additions & 0 deletions 주말/haseung/Week19/기능개발.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
function solution(progresses, speeds) {
let answer = [];
let days = 1;
let cnt = 0;
let progress = 0;

while (progresses[0]) {
progress = progresses[0] + speeds[0] * days;
if (progress >= 100) {
cnt++;
progresses.shift();
speeds.shift();
} else {
if (cnt > 0) answer.push(cnt);
days++;
cnt = 0;
}
}
answer.push(cnt);
return answer;
}
13 changes: 13 additions & 0 deletions 주말/haseung/Week19/위장.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
function solution(clothes) {
let answer = 1;
let obj = {};
for (let i = 0; i < clothes.length; i++) {
obj[clothes[i][1]] = (obj[clothes[i][1]] || 1) + 1;
}

for (let key in obj) {
answer *= obj[key];
}

return answer - 1;
}