코딩테스트 공부
[LeetCode] 136. Single Number - 자바스크립트 0616
codevil
2022. 6. 16. 10:39
https://leetcode.com/problems/single-number/
Single Number - 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
주어진 숫자가 1번 주어진 싱글 넘버를 리턴해라인 문제였다.
이 문제는 다양한 문자가 주어진다고 생각하고, 삭제를 쉽게할 수 있게 map을 사용하였다.
1. map을 만든다
const evenCheck = new Map()
2. 주어진 num를 이용하여 for문을 만든다.
for (let i = 0; i < nums.length; i++) {
}
3. evenCheck에 nums[i]가 있다면 delete, 없다면 set을 한다
for (let i = 0; i < nums.length; i++) {
if (!evenCheck.get(nums[i])) {
evenCheck.set(nums[i], true)
} else {
evenCheck.delete(nums[i])
}
}
4. 이제 evenCheck에는 single Number만 남아있다. 이 evenCheck를 Array.from으로 Array로 만들고 0번째의 0번째를 return 하면 된다.
const answer = Array.from(evenCheck)
return answer[0][0]
전체 풀이
var singleNumber = function (nums) {
const evenCheck = new Map()
for (let i = 0; i < nums.length; i++) {
if (!evenCheck.get(nums[i])) {
evenCheck.set(nums[i], true)
} else {
evenCheck.delete(nums[i])
}
}
const answer = Array.from(evenCheck)
return answer[0][0]
};