이때, a와 b의 내적은 a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> a, vector<int> b) {
int answer = 0;
for(int i = 0; i<a.size();i++) answer+=a[i]*b[i];
return answer;
}
문제 설명 (Lv.1)
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s return
"abcde" "c"
"qwer" "we"
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
if(s.size()==2) return s;
int x =s.size()/2;
s.size()%2==0 ? answer = s.substr(x-1, 2) : answer=s.substr(x, 1);
return answer;
}
s.size()%2!=0 -> s.length()&1 로 사용했다면 비트연산자를 사용해서 더 간결하게 표현가능 했을 것이다.
return s.length()&1 ? s.substr(s.length()*0.5,1) : s.substr(s.length()*0.5-1,2);
string **substr** (size_t pos, size_t len)
문제 설명(Lv.1)
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return
["Jane", "Kim"] | "김서방은 1에 있다"
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> seoul) {
string answer = "";
for(int i =0; i<seoul.size();i++)
{
if(seoul.at(i)=="Kim") answer="김서방은 " + to_string(i) + "에 있다";
}
return answer;
}
to_string(i)를 사용하여 문자열화 시켜줘야한다.
문제 설명(Lv.1)
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
제한 조건
arr은 길이 1 이상인 배열입니다.
인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
입출력 예
arr return
[4,3,2,1][4,3,2]
[10][-1]
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
int a = arr.at(0);
for(int i = 0 ; i < arr.size() ; i++) if(a>arr[i]) a=arr[i];
arr.erase(remove(arr.begin(),arr.end(),a),arr.end());
if(arr.empty()) return {-1};
return arr;
}