본문 바로가기

Algorithm/자료구조

(C++) - LeetCode (easy) 414. Third Maximum Number

반응형

https://leetcode.com/problems/third-maximum-number/description/

 

Third Maximum Number - LeetCode

Can you solve this real interview question? Third Maximum Number - Given an integer array nums, return the third distinct maximum number in this array. If the third maximum does not exist, return the maximum number.   Example 1: Input: nums = [3,2,1] Outp

leetcode.com

set을 이용해 푼 문제였습니다.

📕 풀이방법

📔 풀이과정

1. 중복값을 없애서 저장이 가능한 set형 변수 numsSet을 선언해줍니다.

2. nums의 원소들을 순회하며 numsSet에 저장해줍니다.

3. vector ans를 선언해 numsSet의 원소들을 저장한 후 내림차순으로 정렬합니다.

📔 정답 출력 | 반환

1. ans의 크기가 3미만이라면 가장 큰 원소를 반환하면 됩니다.

2. 이외의 경우 ans의 3번째 원소를 반환하면 됩니다.


📕 Code

📔 C++

class Solution {
public:
    int thirdMax(vector<int>& nums) {
        set <int> numsSet;
        for(auto n : nums){
            numsSet.insert(n);
        }
        vector <int> ans;
        for(auto el : numsSet) {
            ans.push_back(el);
        }
        sort(ans.rbegin(), ans.rend());
        if(ans.size() < 3) {
            return ans[0];
        }
        return ans[2];
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.