728x90
반응형
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
#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() - 1] * numbers[numbers.size() - 2];
return answer;
}
이제는 c++에서 제공하는 함수를 열심히 사용하기로 했다. 내가 나아가야할 길...
그것은 제공되는 함수를 열심히 공부하고 연습하는 것...!
sort 함수를 사용해주었다. 마치 내가 배열의 사이즈를 구할 때 length(), size() 함수를 사용하는 것처럼 sort도 이제는 정말 습관도 들이고 많이 쓰이게 될 함수 같다.
곱했을 때 최대의 값이 나오기 위해서는 배열의 원소 중 가장 큰 값과, 두번째로 큰 값을 곱해줘야한다.
그래서 sort 함수를 이용해 배열의 원소를 작은 것부터 큰 순서대로 나열시켜주었다. 그 다음 원소의 최대값이 있을 인덱스 번호와, 그 다음 큰 수가 있을 인덱스 번호를 지정해 그 둘을 곱해주었다.
배열의 사이즈를 구하고 거기서 1을 뺀 값이 최대값인 이유
>> 배열의 인덱스는 배열의 원소 갯수보다 1이 작다. (배열의 인덱스는 0부터 시작하기 때문)
그렇다면 배열에서 두번째로 큰 수는 당연히 배열의 사이즈에서 2를 뺀 값이겠지?
끗
TMI : 괄호 하나 쓰면 자동으로 괄호를 닫아주는 비주얼 스튜디오와 프로그래머스 덕분에
습관적으로 괄호 버튼 한번만 누른다. 히히
728x90
반응형
'프로그래머스 C++ > Level.0' 카테고리의 다른 글
프로그래머스 C++ Level. 0 삼각형의 완성조건(1) (0) | 2023.04.11 |
---|---|
프로그래머스 C++ Level. 0 배열의 유사도 (0) | 2023.04.10 |
프로그래머스 C++ Level. 0 배열 원소의 길이 (0) | 2023.03.24 |
프로그래머스 C++ Level. 0 머쓱이보다 키 큰사람 (0) | 2023.03.22 |
프로그래머스 C++ Level. 0 짝수는 싫어요 (0) | 2023.03.18 |