관리 메뉴

Partially Committed

[찾아라 ν”„λ‘œκ·Έλž˜λ° λ§ˆμ—μŠ€ν„°] 폰켓λͺ¬ λ³Έλ¬Έ

πŸ”₯ Algorithm || λ¬Έμ œν’€μ΄/PS

[찾아라 ν”„λ‘œκ·Έλž˜λ° λ§ˆμ—μŠ€ν„°] 폰켓λͺ¬

WonderJay 2022. 7. 3. 00:40
728x90
λ°˜μ‘ν˜•
SMALL

https://programmers.co.kr/learn/courses/30/lessons/1845

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - 폰켓λͺ¬

당신은 폰켓λͺ¬μ„ 작기 μœ„ν•œ 였랜 μ—¬ν–‰ 끝에, 홍 λ°•μ‚¬λ‹˜μ˜ 연ꡬ싀에 λ„μ°©ν–ˆμŠ΅λ‹ˆλ‹€. 홍 λ°•μ‚¬λ‹˜μ€ λ‹Ήμ‹ μ—κ²Œ μžμ‹ μ˜ 연ꡬ싀에 μžˆλŠ” 총 N 마리의 폰켓λͺ¬ μ€‘μ—μ„œ N/2마리λ₯Ό 가져가도 μ’‹λ‹€κ³  ν–ˆμŠ΅λ‹ˆλ‹€.

programmers.co.kr

μ€‘λ³΅λœ μ›μ†Œκ°€ μ‘΄μž¬ν•  수 μžˆλŠ” nums λ°°μ—΄ μ—μ„œ nums.size()/2 개의 μ›μ†Œλ₯Ό 택할 λ•Œ μ΅œλŒ€ν•œ

λ‹€λ₯Έ μ›μ†Œλ₯Ό 택할 수 μžˆλ„λ‘ ν•΄μ•Όν•œλ‹€.

 

이λ₯Ό μœ„ν•΄μ„œ 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 자료ꡬ쑰인 set 을 μ΄μš©ν•œλ‹€.

set 에 nums 의 μ›μ†Œλ₯Ό λͺ¨λ‘ insert ν•œ λ’€,

set 의 크기가 nums.size()/2 보닀 μž‘λ‹€λ©΄ set 의 크기가 닡이고

set 의 크기가 nums.size()/2 보닀 크닀면 nums.size()/2 κ°€ 닡이닀.

 

 

[C++]

#include <vector>
#include <set>
using namespace std;

int solution(vector<int> nums)
{
    int answer = 0;
    int n = nums.size()/2;
    // n 마리의 폰켓λͺ¬μ„ 선택해야함.

    set<int> bucket;
    for (int i = 0; i < nums.size(); i++)
    {
        bucket.insert(nums[i]);
    }

    if (bucket.size() > n)
        answer = n;
    else
        answer = bucket.size();
    return answer;
}

728x90
λ°˜μ‘ν˜•
LIST
Comments