반응형
<문제 소개>
<소스 코드>
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> num_list)
{
vector<int> answer = num_list;
int lastIndex = num_list.size() - 1; // 마지막 인덱스
int addNum; // 추가할 숫자
if(num_list[lastIndex] > num_list[lastIndex - 1])
{
// 마지막 원소 > 마지막 직전 원소
addNum = num_list[lastIndex] - num_list[lastIndex - 1];
}
else
{
// 마지막 원소 <= 마지막 직전 원소
addNum = 2 * num_list[lastIndex];
}
answer.push_back(addNum);
return answer;
}
<풀이과정>
1. answer에 입력받은 num_list를 대입
2. 마지막 인덱스를 lastIndex 변수에 넣어주고, 추가할 숫자 addNum을 선언
3. 마지막 원소와 마지막 직전 원소를 비교
3-1. 마지막 원소가 큰 경우는 addNum에 마지막 원소에서 마지막 직전 원소를 뺀 값을 넣어줌
3-2. 마지막 원소가 크지 않은 경우 addNum에 마지막 원소의 2배의 값을 넣어줌
4. 위의 과정에서 구한 addNum을 answer에 추가하고 answer을 리턴해줌
<코멘트>
쉽게 풀었다.
<제출결과>