https://www.acmicpc.net/problem/1065
사고과정)
한자리랑 두자리 수는 생각해보니 다 한수이다.
그러면 결국은 세자리 수일 때인데, (100자리 - 10자리) == (10자리 - 1자리)를 확인해보면 된다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
int N;
cin >> N;
int count = 0;
for (int i = 1; i <= N; ++i)
{
if (i / 10 == 0) // 한자리 수
count++;
else if (i / 100 == 0) // 두자리 수
{
count++;
}
else
{
string temp = to_string(i);
char dif = temp[0] - temp[1];
if (temp[1] - temp[2] == dif)
count++;
else
continue;
}
}
cout << count;
return 0;
}
그냥 배열로 접근하기 위해서, string을 활용하였다.
'백준 문제풀이 > 실버4' 카테고리의 다른 글
백준 2164번 - 카드2 (0) | 2022.01.12 |
---|---|
백준 1049번 - 기타줄 (0) | 2021.12.17 |
백준 1978번 - 소수 찾기 (0) | 2021.11.11 |
백준 1120번 - 문자열 (0) | 2021.11.09 |
백준 1026번 - 보물 (0) | 2021.10.22 |