본문 바로가기

Algorithm/Leetcode

매일 LeetCode 풀기 | Contains Duplicate

Contains Duplicate

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
 
Example 1:
Input: nums = [1,2,3,1] Output: true
Example 2:
Input: nums = [1,2,3,4] Output: false
Example 3:
Input: nums = [1,1,1,3,3,4,3,2,4,2] Output: true
 
Constraints:
1 <= nums.length <= 105-109 <= nums[i] <= 109

 

class Solution {
    func containsDuplicate(_ nums: [Int]) -> Bool {
        var arr = Set(nums)
        
        if arr.sorted() == nums.sorted() {
            return false
        } else {
            return true
        }
    }
}

 

접근 방법 
1. 원래 배열에서 중복을 제거한 배열을 변수에 담는다. 
2. 원래 배열을 sorted 한 것과, 중복을 제거한 배열을 sorted 한 것을 비교한다. 
3-1. 그 둘이 같으면 false를 return 한다. 
3-2. 그 둘이 다르면 true를 return 한다. 

 

배운점 
Set(집합)은 중복된 요소를 허용하지 않기 때문에, Set을 사용하면 쉽게 배열 안 중복 요소를 제거할 수 있습니다.