본문 바로가기
프로그래밍/LeetCode

C++ 136. Single Number(Leet Code)

by devsu 2020. 6. 22.

Leet Code_136. Single Number

 

https://leetcode.com/problems/single-number/

문제 해석

 

이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다.

 

목표

vector 원소 중 중복되지 않는 숫자 구하기

방법

1. vector 원소 중 중복되지 않는 숫자 구하기

2. hash table을 사용하기

 

결과

vector 원소 중 중복되지 않는 숫자 구하기

 

통과한 코드

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        unordered_map<int, int> map;
        for(int i = 0 ; i < nums.size() ; i++)
        {
            map[nums[i]]++;
        }
        for (unordered_map<int, int>::iterator it = map.begin(); it != map.end(); it++)
        {
            if (it->second == 1)
                return it->first;
        }
        return 0;
        
    }
};

unordered_map을 사용하였다.

map의 key값에 접근하여 하나씩 value를 증가 시켰고

map을 돌면서 value 값이 1인 key를 찾아 해결하였다.

map원소를 for문으로 first, second를 처음 써보았는데 신기하고 편리하다