Skip to content

Latest commit

Β 

History

History
36 lines (32 loc) Β· 1.43 KB

File metadata and controls

36 lines (32 loc) Β· 1.43 KB

Intuition

배타적인 κ²½μš°μ—λ§Œ 참을 좜λ ₯ν•˜λŠ” XOR 연산을 ν™œμš©ν•œλ‹€.

Approach

  • 문제λ₯Ό μΉ˜ν™˜ν•΄λ³΄μž. λͺ¨λ“  μˆ˜κ°€ 2λ²ˆμ”© λ“±μž₯ν•˜κ³ , ν•˜λ‚˜μ˜ 수만 ν•œ 번 λ“±μž₯ν•œλ‹€κ³  ν•˜μž.
  • 이 경우, λͺ¨λ“  μˆ˜λ“€μ— ^연산을 ν•˜λ©΄ ν•œ 번 λ“±μž₯ν•œ μˆ˜λ§Œμ„ μ•Œ 수 μžˆλ‹€.
  • λ°°μ—΄μ˜ 길이 + μΈλ±μŠ€μ™€ ν•΄λ‹Ή 인덱슀일 λ•Œμ˜ μ›μ†Œκ°’λ“€μ„ λͺ¨λ‘ ^μ—°μ‚°ν•˜λ©΄
    • λ°°μ—΄ + 인덱슀 순회둜 λͺ¨λ“  μˆ˜λŠ” 1λ²ˆμ”© λ“±μž₯ν•œλ‹€.
    • μ›μ†Œκ°’ 순회둜 ν•˜λ‚˜μ˜ 수λ₯Ό μ œμ™Έν•˜κ³€ 1λ²ˆμ”© λ“±μž₯ν•œλ‹€.
  • ν•œ 번만 λ“±μž₯ν•œ μˆ˜κ°€ missing number이닀.

Complexity

  • Time complexity: $$O(n)$$

: λ°°μ—΄μ˜ 길이 n, 이λ₯Ό μˆœνšŒν•œλ‹€.

  • Space complexity: $$O(n)$$

    : inline, μ£Όμ–΄μ§„ λ°°μ—΄μ˜ 길이 n

Code

func missingNumber(nums []int) int {
	num := len(nums)

	for i, n := range nums {
		num ^= i
		num ^= n
	}
	return num
}

Today I Learned

  • λ‹€λ₯Έ ν’€μ΄λ‘œ ν’€ λ•Œ, abs()λ₯Ό μ΄μš©ν•΄μ„œ ν•΄κ²°ν•˜λ €κ³  ν•˜μ˜€λŠ”λ° ν•΄λ‹Ή λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ‘΄μž¬ν•˜μ§€ μ•Šμ•˜λ‹€. μ™œ κ·ΈλŸ°μ§€ μ°Ύμ•„λ΄€λŠ”λ° λ„ˆλ¬΄ κ°„λ‹¨ν•œ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” 철학에 μ•ˆλ§žλŠ”λ‹€κ³  μ•ˆλ„£μ–΄μ€€λ‹€ ν•˜λ”λΌ.