Skip to content

[jdy8739] Week6 #905

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jan 18, 2025
Merged
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
32 changes: 32 additions & 0 deletions container-with-most-water/jdy8739.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* @param {number[]} height
* @return {number}
*/
var maxArea = function(height) {
let max = 0;

let startIdx = 0;
let endIdx = height.length - 1;

while (startIdx < endIdx) {
const start = height[startIdx];
const end = height[endIdx];

const gap = endIdx - startIdx;
const min = Math.min(start, end);

const area = gap * min;

max = Math.max(max, area);

if (start < end) startIdx++;
else endIdx--;
}

return max;
};

// 시간복잡도 O(n)
// n은 주어진 배열(height)의 길이


49 changes: 49 additions & 0 deletions spiral-matrix/jdy8739.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* @param {number[][]} matrix
* @return {number[]}
*/
var spiralOrder = function(matrix) {
let top = 0;
let left = 0;
let bottom = matrix.length - 1;
let right = matrix[0].length - 1;

const answer = [];

while (top <= bottom && left <= right) {
for (let i = left; i <= right; i++) {
answer.push(matrix[top][i]);
}
top++;

if (top > bottom) {
break;
}

for (let j = top; j <= bottom; j++) {
answer.push(matrix[j][right]);
}
right--;

if (left > right) {
break;
}

for (let k = right; k >= left; k--) {
answer.push(matrix[bottom][k]);
}
bottom--;

for (let l = bottom; l >= top; l--) {
answer.push(matrix[l][left]);
}
left++;
}

return answer;
};

// 시간 복잡도 O(m * n)
// 공간 복잡도 O(1)


30 changes: 30 additions & 0 deletions valid-parentheses/jdy8739.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
const stack = [];

for (let i=0; i<s.length; i++) {
const cur = s[i];

if (cur === '(' || cur === '[' || cur === '{') {
stack.push(cur);
} else {
const topOfStack = stack[stack.length - 1];

const caseA = topOfStack === '(' && cur === ')';
const caseB = topOfStack === '[' && cur === ']';
const caseC = topOfStack === '{' && cur === '}';

if (caseA || caseB || caseC) {
stack.pop();
} else {
return false;
}
Comment on lines +20 to +24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

else 없이 if 만 사용하면 가독성을 좀 더 올릴수 있지 않을까요 :)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 그렇겠네요 :) 피드백 감사합니다!

}
}

return stack.length === 0;
};

Loading