728x90
반응형
https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/
주어진 배열의 길이를 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
반응형