Skip to content

Commit dd3f08f

Browse files
committed
feat: 문제풀이 추가
1 parent 65737c2 commit dd3f08f

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

jump-game/hwanmini.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// 시간복잡도: O(n)
2+
// 공간복잡도: O(1)
3+
4+
/**
5+
* @param {number[]} nums
6+
* @return {boolean}
7+
*/
8+
var canJump = function(nums) {
9+
let fast = 0;
10+
11+
for (let i = 0; i < nums.length; i++) {
12+
if (i > 0 && i > fast) return false
13+
14+
fast = Math.max(fast, i + nums[i])
15+
16+
if (fast >= nums.length -1) return true
17+
}
18+
19+
return false
20+
};
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// 시간복잡도: O(log n)
2+
// 공간복잡도: O(1)
3+
4+
/**
5+
* @param {number[]} nums
6+
* @param {number} target
7+
* @return {number}
8+
*/
9+
var search = function(nums, target) {
10+
let leftIdx = 0;
11+
let rightIdx = nums.length - 1;
12+
13+
while (leftIdx <= rightIdx) {
14+
const midIdx = Math.floor((leftIdx + rightIdx) / 2);
15+
16+
if (nums[midIdx] === target) return midIdx;
17+
18+
if (nums[leftIdx] <= nums[midIdx]) {
19+
if (nums[leftIdx] <= target && nums[midIdx] >= target) {
20+
rightIdx = midIdx - 1;
21+
} else {
22+
leftIdx = midIdx + 1;
23+
}
24+
} else {
25+
if (nums[rightIdx] >= target && nums[midIdx] <= target) {
26+
leftIdx = midIdx + 1;
27+
} else {
28+
rightIdx = midIdx - 1;
29+
}
30+
}
31+
}
32+
33+
return -1
34+
};

0 commit comments

Comments
 (0)