๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš“ Self Study/๐Ÿ”“ Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (ํฌ์ผ“๋ชฌ, ์ฐพ์•„๋ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋งˆ์Šคํ„ฐ) C++

by UKHYUN22 2022. 1. 2.
728x90

 

์ค‘๋ณต์„ฑ์„ ์ œ๊ฑฐํ•ด์ค˜์•ผ ํ•œ๋‹ค.

-> Set ์ด์šฉ

 

set<int> set;

์ƒˆ๋กœ์šด ์š”์†Œ ์ถ”๊ฐ€
set.insert(์š”์†Œ);

 

#include <vector>
#include <set>
#include <iostream>

using namespace std;

int solution(vector<int> nums)
{
    int answer = 0;
    int number = nums.size()/2;
    
    set<int> set;
    
    // nums ๋ฐฐ์—ด์— ๋‹ด๊ธด ์ˆซ์ž์˜ ์ค‘๋ณต์„ฑ์„ ์—†์• ์ฃผ๊ธฐ ์œ„ํ•ด์„œ set์„ ์„ ์–ธํ•˜๊ณ  ๋„ฃ์–ด์ค€๋‹ค.
    for(int i = 0 ; i < nums.size() ; i++) {
        set.insert(nums[i]);
    }
    
    // ์ข…๋ฅ˜๊ฐ€ N/2 ๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๊ทธ๋Œ€๋กœ answer์— ๋„ฃ์–ด์ฃผ๊ณ 
    // ์•„๋‹ˆ๋ฉด N/2๋ฅผ answer๋ฅผ ๋‹ต์— ๋„ฃ์–ด์ค€๋‹ค.
    if(number <= set.size())
        answer = number;
    else 
        answer = set.size();
    
    return answer;
}