728x90
❌100보다 작은 값은 무조건 한수이다.
1) 주석없는 VERSION
#include <iostream>
using namespace std;
int checkMatch(int n);
int main() {
int n;
cin >> n;
int ans = 0;
for (int i = 1; i <= n; i++) {
if (checkMatch(i) == 1) ans ++;
}
cout << ans;
}
int checkMatch(int n) {
int n100, n10, n1;
n100 = n / 100;
n10 = n % 100 / 10;
n1 = n % 10;
if (n < 100 || (n100 - n10) == (n10 - n1)) return 1;
else return 0;
}
2) 주석있는 VERSION
#include <iostream>
using namespace std;
int hansoo(int n);
int main() {
int n;
cin >> n;
int ans = 0;
for (int i = 1; i <= n; i++) {
if (hansoo(i) == 1) ans ++; // hansoo 함수의 return 값이 1일 때 ans 1증가
}
cout << ans;
}
int hansoo(int n) {
int n100, n10, n1;
n100 = n / 100; // 백의 자리
n10 = n % 100 / 10; // 십의 자리
n1 = n % 10; // 일의 자리
// n 이 100보다 작거나 연속된 두 개의 수의 차이가 같을 때 1 값 return
if (n < 100 || (n100 - n10) == (n10 - n1)) return 1;
else return 0;
}
'BEAKJOON' 카테고리의 다른 글
백준(11720번 숫자의 합)풀이 C++ (0) | 2020.12.07 |
---|---|
백준(11654번 아스키 코드)풀이 C++ (0) | 2020.12.06 |
백준(4673번 셀프 넘버)풀이 C++ (0) | 2020.12.06 |
백준(15596번 정수 N개의 합)풀이 C++ (0) | 2020.12.06 |
백준(4344번 평균은 넘겠지)풀이 C++ (0) | 2020.12.05 |