👨🏻‍💻iOS 공부/Swift_알고리즘 풀이

[LeetCode] Find All Numbers Disappeared in an Array

728x90
반응형

https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/

 

Find All Numbers Disappeared in an Array - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

주어진 배열의 길이를 N이라고 했을 때 1~N 중 배열에 등장하지 않은 값들을 출력해야하는 문제이다.

난이도 자체도 Easy이어서 쉽게 풀이할 수 있다. 

 

1. 배열에 등장했는지 여부를 판단할 check 배열 

2. check에 등장여부 표기 후

3. check에 등장하지 않았다고 표기된 수의 index를 저장 

4. 출력

 

class Solution {
    func findDisappearedNumbers(_ nums: [Int]) -> [Int] {
        var check = Array(repeating: 0, count: nums.count)
        var result = [Int]()
        
        // index로 도는게, 값으로 도는 것 보다 훨씬 빠름 
        // 등장한 숫자는 1씩 증가
        for i in 0..<nums.count {
            check[nums[i] - 1] += 1
        }
        
        // 등장하지 않은 값들을 추가 
        for i in 0..<check.count {
            if check[i] == 0 {
                result.append(i+1)
            }
        }
        
        return result
    }
}

문제 자체는 쉬운 편!

 

728x90
반응형