코딩 테스트/LeetCode
136. Single Number (단일 번호)
포카리tea
2023. 6. 4. 03:00
정수 숫자 배열이 비어 있지 않은 경우 하나를 제외하고 모든 요소가 두 번 나타납니다. 그 단 하나를 찾으세요.
선형 런타임 복잡성을 가진 솔루션을 구현하고 일정한 추가 공간만 사용해야 합니다.
예시 1:
입력: nums = [2,2,1]
출력: 1
예시 2:
입력: nums = [4,1,2,1,2]
출력: 4
예시 3:
입력: nums = [1]
출력: 1
조건:
- 1 < = nums. length < = 3 * 10^4
- -3 * 10^4 <= nums[i] <= 3 * 10^4
- 배열의 각 요소는 한 번만 나타나는 요소를 제외하고 두 번 나타납니다.
정답:
public class Solution {
public int SingleNumber(int[] nums) {
List<int> result=new List<int>();
for(int i=0;i<nums.Count();i++)
{
if(result.Contains(nums[i]))
result.Remove(nums[i]);
else
result.Add(nums[i]);
}
return result[0];
}
}
해설:
List를 사용해서 처음보는 수라면 추가하고 아니라면 제거하는 방법으로 해결하였습니다.