Skip to content

Commit 3426685

Browse files
authored
Merge pull request #1563 from clara-shin/main
[clara-shin] WEEK11 Solutions
2 parents 706ef6d + 6cb974f commit 3426685

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

โ€Žmissing-number/clara-shin.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* n๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ˆซ์ž๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์—์„œ, 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ๋ฒ”์œ„ ์ค‘ ๋น ์ง„ ์ˆซ์ž ํ•˜๋‚˜๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ
3+
* ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ n์ด๋ฉด, ์‹ค์ œ๋กœ๋Š” 0๋ถ€ํ„ฐ n๊นŒ์ง€ ์ด (n+1)๊ฐœ์˜ ์ˆซ์ž ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋น ์ ธ์žˆ์Œ
4+
*
5+
* ์ ‘๊ทผ๋ฐฉ๋ฒ•: XOR ๋น„ํŠธ ์—ฐ์‚ฐ
6+
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)
7+
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)
8+
*
9+
* XOR์˜ ์„ฑ์งˆ:
10+
* - a ^ a = 0 (๊ฐ™์€ ์ˆ˜๋ผ๋ฆฌ XORํ•˜๋ฉด 0)
11+
* - a ^ 0 = a (์–ด๋–ค ์ˆ˜๋“  0๊ณผ XORํ•˜๋ฉด ์ž๊ธฐ ์ž์‹ )
12+
* - XOR์€ ๊ตํ™˜๋ฒ•์น™๊ณผ ๊ฒฐํ•ฉ๋ฒ•์น™์ด ์„ฑ๋ฆฝ
13+
*/
14+
15+
/**
16+
* @param {number[]} nums
17+
* @return {number}
18+
*/
19+
var missingNumber = function (nums) {
20+
let result = nums.length; // n์œผ๋กœ ์ดˆ๊ธฐํ™”
21+
22+
// ์ธ๋ฑ์Šค i์™€ nums[i]๋ฅผ ๋ชจ๋‘ XOR
23+
// ๊ฒฐ๊ตญ ๋น ์ง„ ์ˆซ์ž๋งŒ ํ™€์ˆ˜ ๋ฒˆ ๋‚˜ํƒ€๋‚˜์„œ ๊ฒฐ๊ณผ๋กœ ๋‚จ์Œ
24+
for (let i = 0; i < nums.length; i++) {
25+
result ^= i ^ nums[i];
26+
}
27+
28+
return result;
29+
};

0 commit comments

Comments
ย (0)