From 60ef2839fc49d86f961ee5e9fdfe6b85bdeab2d0 Mon Sep 17 00:00:00 2001 From: rivkode Date: Tue, 20 Jan 2026 00:57:32 +0900 Subject: [PATCH] rivkode missing number --- missing-number/rivkode.java | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 missing-number/rivkode.java diff --git a/missing-number/rivkode.java b/missing-number/rivkode.java new file mode 100644 index 0000000000..54c948e4f5 --- /dev/null +++ b/missing-number/rivkode.java @@ -0,0 +1,48 @@ +/* +1. 문제 이해 +nums 가 n 개 주어졌을때 0부터 n 까지의 숫자중 빠진 숫자를 리턴 + +2. 알고리즘 +정렬 nlogn 후 for문을 돌고 1씩 증가하면서 아닐 경우 해당 번호 반환 -> 이거 말고 set 사용 + +set 으로 숫자 넣고 contains로 찾아서 진행 + +3. 예외 + +4. 구현 + +array 정렬 +1씩 증가 +찾기 + +추가 팔로업 -> o(n) 에서 가능한가 ? + +set 사용 ? +key 를 통해 해당 key 가 존재하면 계속 for 문 진행 +없다면 해당 숫자 반환 +어차피 SET 도 map 사용함 +정렬 없으므로 o(n) 으로 탐색 가능 set.contains 는 O(1) + +*/ + +import java.util.*; + +class Solution { + public int missingNumber(int[] nums) { + Set set = new HashSet<>(); + + for (int i: nums) { + set.add(i); + } + + for (int i=0; i