Skip to content

Commit

Permalink
268. Missing Number
Browse files Browse the repository at this point in the history
  • Loading branch information
choidabom committed Jan 3, 2025
1 parent dc88ca3 commit 6db16e3
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions missing-number/choidabom.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/**
* Runtime: 19ms, Memory: 52.48MB
*
* ์ ‘๊ทผ
* ์ง๊ด€์ ์œผ๋กœ ์ƒ๊ฐํ–ˆ์„ ๋•Œ, 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘์—์„œ ์—†๋Š” ์ˆซ์ž๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
* ์™„์ „ ํƒ์ƒ‰์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์—์„œ ์ˆœ์„œ๋Œ€๋กœ ๋น„๊ตํ•˜๋ฉด์„œ ์—†๋Š” ์ˆซ์ž๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
* Time Complexity: O(N)
* Space Complexity: O(N)
*
* Follow up: Could you implement a solution using only O(1) extra space complexity and O(n) runtime complexity?
*/

function missingNumber(nums: number[]): number {
const numsLen = nums.length;
const sortedNums = nums.sort((a, b) => a - b); // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

for (let i = 0; i <= numsLen; i++) {
if (i !== sortedNums[i]) {
return i;
}
}
}

/**
* Runtime: 1ms, Memory: 51.96MB
*
* ์ ‘๊ทผ
* Follow up์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
* 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆซ์ž์˜ ํ•ฉ์„ ๊ตฌํ•œ ๋’ค, ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์˜ ํ•ฉ์„ ๋นผ๋ฉด ์—†๋Š” ์ˆซ์ž๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
* Time Complexity: O(n)
* Space Complexity: O(1)
*/

function missingNumber(nums: number[]): number {
const size = nums.length;
const sum = (size * (size + 1)) / 2;
const accurate = nums.reduce((sum, num) => sum + num, 0);

return sum - accurate;
}

0 comments on commit 6db16e3

Please sign in to comment.