Skip to content
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
18 changes: 18 additions & 0 deletions legitgoons/Best Time to Buy and Sell Stock.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* 2중 For문 돌리기 -> 시간복잡도 O(n^2)인데 100000^2은 감당불가
* 투 포인터로 풀면 되지않을까? -> 구현하다가 깨달았는데 투 포인터도 이중 for문이라서 터짐
* 그냥 반복문 돌면서, 지금까지 값이랑 비교했을 가장 작은값이 얘인지 check
* 그 다음 현재까지 최고이득 vs 지금값 - 최소값
*/
function maxProfit(prices: number[]): number {
let minPrice = 10000;
let maxProfit = 0;

for (let i = 0; i < prices.length; i++) {
const nowPrice = prices[i];
minPrice = Math.min(minPrice, nowPrice);
maxProfit = Math.max(maxProfit, nowPrice - minPrice);
}

return maxProfit;
}
16 changes: 16 additions & 0 deletions legitgoons/Maximum Average Subarray I.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
function findMaxAverage(nums: number[], k: number): number {
let 최대합 = 0;
let 현재합 = 0;

for (let i = 0; i < k; i++) {
현재합 += nums[i];
}
최대합 = 현재합;

for (let i = k; i < nums.length; i++) {
현재합 = 현재합 - nums[i - k] + nums[i];
최대합 = Math.max(최대합, 현재합);
}

return 최대합 / k;
}
Loading