[프로그래머스/C++]Lv.0 - 최댓값 만들기 (1)

YH J·2023년 4월 19일
0

프로그래머스

목록 보기
47/168

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120847

내 풀이

정렬 한 뒤 가장 뒤 쪽의 2개의 수 곱을 리턴

내 코드

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 0;
    
    sort(numbers.begin(),numbers.end());
    
    answer = numbers[numbers.size()-2] * numbers[numbers.size() - 1];
    
    return answer;
}

다른 사람의 풀이

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 0;
    int max = 0, s_max = 0;

    for (int i: numbers){
        if(max <= i){
            s_max = max;
            max = i;
        }
        else if(s_max <= i){
            s_max = i;
        }
    }
    answer = max * s_max;
    return answer;
}

다른 사람의 풀이 해석

sort없이 최댓값과 그 전 최댓값 구해서 곱

profile
게임 개발자 지망생

0개의 댓글