[ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ
๋ฌธ์ :
programmers.co.kr/learn/courses/30/lessons/68644
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ
programmers.co.kr
๋ถ์ :
input vector : numbers
output vector : answer
ex>
input | output |
[2,1,3,4,1] | [2,3,4,5,6,7] |
[5,0,2,7] | [2,5,7,9,12] |
๊ฐ ์ฃผ์ด์ง ๋
์ฒซ๋ฒ์งธ for ๋ฌธ : inter ๋ ๋ฐ๋ณตํ ๊ฐ๊ฒฉ์ด๋ค. 1 ~ size-1 ๋ฒ์๋ฅผ ๊ฐ์ง๋ค.
๋๋ฒ์งธ for ๋ฌธ : j๋ ๋ ์ธ๋ฑ์ค, j์ ๋ฒ์๋ ๊ฐ๊ฒฉ ๋ง์ง๋ง ์์๊ฐ ์ฐธ์กฐ๋๋ ๊ณณ ๊น์ง ๋ฐ๋ผ์ 0 ~ size - inter ๋ค.
find ํจ์ ( vector.begin(), vector.end(), ์ฐพ์ ๊ฐ)
์์์ ์ธ๋ฑ์ค ๋ฐํํ๋๋ฐ answer์ ์์ ๊ฒฝ์ฐ answer.end()์ ๊ฐ์ ๊ฐ์ ๋ฐํํ๋ค.
๋ง์ง๋ง์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ sort
c++ ์ฝ๋ :
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> numbers) {
vector<int> answer;
for(int inter = 1; inter < (int)numbers.size(); inter++){
for(int j = 0; j < (int)(numbers.size()) - inter; j++){
int temp = numbers[j] + numbers[j+inter];
if(find(answer.begin(), answer.end(), temp) == answer.end()){
answer.push_back(temp);
}
}
}
sort(answer.begin(), answer.end());
return answer;
}
๋ ๋ฒจ 1๋ ๋ฒ๊ฒ๋ค ์กฐ๊ธ์ฉ ์ ์กฐ์ ธ๋ณด์ ํํ