Skip to content

Commit 3ae9135

Browse files
committed
chore: 주석 스타일 변경
1 parent b604d4c commit 3ae9135

File tree

1 file changed

+19
-26
lines changed

1 file changed

+19
-26
lines changed

best-time-to-buy-and-sell-stock/lledellebell.js

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,23 @@
1-
/*
2-
Time complexity: O(n)
3-
Space complexity: O(1)
4-
5-
문제 설명:
6-
- 주어진 배열 `prices`에서, i <= j인 두 인덱스 i, j에 대해 prices[j] - prices[i]를 최대화해야 합니다.
7-
- 즉, 한 번의 매수와 한 번의 매도를 통해 얻을 수 있는 최대 이익을 계산합니다.
8-
- 매수는 매도보다 반드시 먼저 이루어져야 합니다.
9-
10-
알고리즘 설명:
11-
1. 배열을 왼쪽에서 오른쪽으로 한 번 순회합니다.
12-
2. 현재 주식 가격이 `min_price`보다 작으면, `min_price`를 갱신합니다.
13-
- `min_price`는 현재까지의 최소 매수 가격을 의미합니다.
14-
3. 현재 주식 가격에서 `min_price`를 뺀 값(현재 이익)이 `max_profit`보다 크면, `max_profit`을 갱신합니다.
15-
- `max_profit`은 현재까지의 최대 이익을 의미합니다.
16-
4. 배열 순회가 끝난 후, `max_profit`을 반환합니다.
17-
18-
시간 복잡도:
19-
- 배열을 한 번만 순회하므로 O(n)입니다.
20-
21-
공간 복잡도:
22-
- 추가적인 배열이나 데이터 구조를 사용하지 않고, 두 개의 변수(`min_price`, `max_profit`)만 사용하므로 O(1)입니다.
23-
*/
24-
1+
/**
2+
* 주어진 주식 가격 배열에서 한 번의 매수와 한 번의 매도를 통해 얻을 수 있는 최대 이익을 계산합니다.
3+
* 매수는 매도보다 반드시 먼저 이루어져야 합니다.
4+
*
5+
* @param {number[]} prices - 각 날짜별 주식 가격을 나타내는 배열
6+
* @returns {number} 최대 이익 (이익을 낼 수 없는 경우 0 반환)
7+
*
8+
* @example
9+
* maxProfit([7, 1, 5, 3, 6, 4]); // 5 (2일차에 매수하고 5일차에 매도)
10+
* maxProfit([7, 6, 4, 3, 1]); // 0 (이익을 낼 수 없음)
11+
*
12+
* @description
13+
* - 시간 복잡도: O(n)
14+
* 배열을 한 번 순회하며 각 요소에 대해 상수 시간 연산만 수행합니다.
15+
* - 공간 복잡도: O(1)
16+
* 추가적인 배열이나 데이터 구조를 사용하지 않고, 두 개의 변수만 사용합니다.
17+
*/
2518
function maxProfit(prices) {
26-
let min_price = Infinity; // 초기 최소값을 무한대로 설정 (어떤 값과 비교해도 갱신되도록 설정)
27-
let max_profit = 0; // 초기 최대 이익은 0 (이익이 없을 경우에도 0을 반환해야 함)
19+
let min_price = Infinity; // 현재까지의 최소 매수 가격 (초기값은 무한대)
20+
let max_profit = 0; // 현재까지의 최대 이익 (초기값은 0)
2821

2922
// 배열을 순회하며 최소 매수 가격과 최대 이익을 계산
3023
for (let price of prices) {

0 commit comments

Comments
 (0)