주어진 코드 조각은 조건문 isIncluded를 확인하고, 조건이 참인 경우 중괄호 내의 코드 블록을 실행하는 것입니다. 이 경우, 변수 i의 값을 answer 벡터에 push_back 함수를 사용하여 추가합니다.
추가적으로 push_back은 C++의 벡터(vector) 컨테이너에서 사용되는 함수로, 벡터의 끝에 새로운 요소를 추가하는 역할을 합니다. push_back 함수는 벡터의 크기를 동적으로 관리하며, 요소를 추가할 때마다 벡터의 크기가 자동으로 조정됩니다.
if(isIncluded){
answer.push_back(i);
}
다음 코드 조각은 answer 벡터가 비어있는지 확인하고, 비어있는 경우 -1을 answer 벡터에 추가하는 것입니다.
두 가지 조건문은 동일한 결과를 얻기 위해 사용될 수 있습니다. answer.empty()는 answer 벡터가 비어있는지 확인하는 함수이며, answer.size() == 0은 answer 벡터의 크기가 0인지 확인하는 조건입니다. 둘 다 true인 경우, answer 벡터에 -1을 추가합니다.
if(answer.empty()){
answer.push_back(-1);
}
OR
if(answer.size() == 0){
answer.push_back(-1);
}
전체 소스 코드
따라서 전체 소스 코드는 다음과 같습니다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int l, int r)
{
vector<int> answer;
for (int i = l; i <= r; i++)
{
string tmp = to_string(i);
bool isIncluded = true;
for (char c : tmp)
{
if (c != '0' && c != '5')
{
isIncluded = false;
break;
}
}
if (isIncluded)
{
answer.push_back(i);
}
}
if (answer.empty())
{
answer.push_back(-1);
}
return answer;
}