범위 : a 이상 b 이하 수
조건 : 3의 배수인 수 || (3 또는 6 또는 9) 가 포함 된 수
출력 : 갯수를 출력
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void print(int a, int b) {
vector<int>v;
for ( int i = a; i<=b;i++) {
if(i % 3 == 0) v.push_back(i);
else {
string str = to_string(i);
if (str.find('3') != string::npos || str.find('6') != string::npos || str.find('9') != string::npos) {
v.push_back(i);
}
}
}
cout << v.size() << endl;
}
int main() {
// 여기에 코드를 작성해주세요.
int a,b; cin >> a >> b;
print(a,b);
return 0;
}
정리
C++ string 변수에서 해당 숫자가 존재하는지 확인하기 위해 str.find() 함수를 사용했습니다.
str.find('?') 함수는 해당 문자가 존재할 경우 찾고자 하는 문자열의 시작 위치를 반환합니다.
만약 문자가 없을 경우 -1이 반환되는 것이 아니라 쓰레기 값이 반환되는데, 이를 이용하여 str.find("?") != string:: npos 를 사용하면 문자가 있을 경우의 조건으로 사용할 수 있습니다.
'Algorithm' 카테고리의 다른 글
| [Algorithm] Softeer : 성적 평균 (0) | 2024.11.27 |
|---|---|
| [Algorithm] BOJ 5567 : 결혼식 (0) | 2024.11.26 |
| [Algorithm] 소수 구하기 (N^2) (1) | 2024.11.18 |
| [Algorithm] GCD (최대 공약수) & LCM (최소 공배수) (0) | 2024.11.18 |
| [Algorithm] 각 자리수 합 구하기 (0) | 2024.11.18 |