문제
https://www.acmicpc.net/problem/28135
문제 요약
n이 주어졌을 때, 1부터 차례대로 수를 셀 때, 몇 번째 수를 셀 때 N이 처음으로 등장하는지 출력한다.
코드
#include <iostream>
#include <string>
using namespace std;
int n, cnt;
int main() {
cin >> n;
for (int i = 0; i < n; i++) {
if (to_string(i).find("50") == string::npos) {
cnt += 1;
}
else {
cnt += 2;
}
}
cout << cnt;
return 0;
}
코드 설명
1부터 하나씩 숫자를 세고, find 함수를 사용해서 문자열 "i"에 "50"이 들어있는지 확인한다.
고찰
find 함수를 사용하여 문자열 a에 문자열 b가 들어있는지 확인할 수 있다.
만약 문자열 a에 문자열 b가 들어있지 않다면, std::string::npos를 반환한다.
'Algorithm Problems > 기타' 카테고리의 다른 글
[백준/C++] 1074번: Z (1) | 2024.08.15 |
---|---|
[백준/C++] 2447번: 별찍기 - 10 (1) | 2024.08.10 |
[백준/C++] 28419번: 더하기 (0) | 2024.05.15 |
[백준/C++] 2630번: 색종이 만들기 (0) | 2024.05.14 |
[백준/Python] 2338번: 긴자리 계산 (0) | 2024.05.07 |