[PS 백준 - 2.7] 1065번: 한수

PongkiJoa·2021년 6월 30일
0

PS Diary - 백준

목록 보기
20/54
post-thumbnail

문제 정보

백준 1065번 - 바로가기

  • 난이도: 실버 4
  • 알고리즘: 브루트포스 알고리즘

코멘트

두자리 숫자는 전부 한수니까 그대로 출력하고, 세자리 숫자일 때만 등차수열인지 확인하는 과정을 거쳤다. 지금 생각해보니 굳이 % 10, /10으로 안하고 문자열로 형변환한 후에 [2][1][2]-[1][1][0][1]-[0] 만 비교해도 됐을 것 같다.


소스 코드

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;


int main() {
    ios::sync_with_stdio(false); 
    cin.tie(0); 
    cout.tie(0);
    
    int n, cou = 0;
    cin >> n;
    if (n < 100) cout << n;
    else {
        cou = 99;
        for (int i = 100; i <= n; i++) {
            int num = i;
            int n1, n2, n3;
            int diff1, diff2;
            n3 = num % 10;
            num /= 10;
            n2 = num % 10;
            num /= 10;
            n1 = num;
            diff1 = n3 - n2;
            diff2 = n2 - n1;
            if (diff1 == diff2) cou++;
        }
        cout << cou;
    }
}
profile
컴공 20학번

0개의 댓글

관련 채용 정보