# map 을 쓰지않는 방법으로 추후 구현해서 올릴 예정.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include <iostream> #include <vector> #include <map> using namespace std; int Solution(const vector<int>& numbers); void main() { vector<int> testVec; testVec.push_back(1); testVec.push_back(1); testVec.push_back(3); testVec.push_back(3); testVec.push_back(5); testVec.push_back(4); testVec.push_back(4); testVec.push_back(6); testVec.push_back(6); int answer = Solution(testVec); cout << "입력받은 숫자열중에 1개만 존재하는 숫자는 : " << answer << endl; system("pause"); } int Solution(const vector<int>& numbers) { int aloneNumber = 0; map<int, int> duplicateCheckMap; bool isInsertSuccess; for each (int num in numbers) { isInsertSuccess = duplicateCheckMap.insert(pair<int, int>(num, 1)).second; if (isInsertSuccess == false) { duplicateCheckMap[num] = 2; } } for each (pair<int, int> num in duplicateCheckMap) { if (num.second == 1) { aloneNumber = num.first; } } duplicateCheckMap.clear(); return aloneNumber; } |
댓글 없음:
댓글 쓰기