728x90
반응형
https://www.acmicpc.net/problem/1065
1. Logic
2가지 상황으로 분할해 볼 수 있다.
1. n이 99이하인 경우
2. n이 100이상인 경우
- 1 ~ 99까지의 수는 항상 등차수열을 이루기 때문에 99이하의 숫자가 나오게되면 즉시 숫자를 리턴한다!
- 100이상의 숫자는 어짜피 999까지 비교하면 되기 때문에 3부분으로 나눠서 100자리 10자리 1자리 숫자를 각각 비교한다.
2. Code
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int cnt = 99;
if(n <= 99) {
cout << n;
return 0;
}
for(int i = 100; i <= n; i++) {
int fir = i / 100;
int sec = (i / 10) % 10;
int thi = i % 10;
if(fir - sec == sec - thi) {
cnt++;
}
}
cout << cnt;
}
3. Feedback
- 내가 생각한 로직에 자신감을 가지고 일단 구현해보자
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 5557 1학년 C++ :: Dynamic Programming (0) | 2023.08.09 |
---|---|
[백준/Baekjoon] 3085 사탕 게임 C++ :: Brute force (0) | 2023.08.08 |
[백준/Baekjoon] 2437 저울 C++ :: Greedy (0) | 2023.08.08 |
[백준/Baekjoon] 10448 유레카 이론 C++ :: Brute force (0) | 2023.08.08 |
[백준/Baekjoon] 2309 일곱 난쟁이 C++ :: Brute force (0) | 2023.08.08 |