Algorithm/baekjoon

한수

마닐라 2021. 12. 26. 16:31

📍 문제 설명

💡 접근

99이하는 모두 한수라고 볼 수 있다.

1000보다 작은 수만 들어온다고 했으니

100~999 사이만 걸러내주면된다.

 

👩‍💻 코드

import java.io.IOException;
import java.util.*;

class Main {
    public static void main(String[] args) throws IOException {
        Scanner kb = new Scanner(System.in);

        int n = kb.nextInt();

        //1~99까지는 확인안해도되고
        //100부터는 차이가 일정한지 봐야함
        System.out.println(solution(n));
    }

    private static int solution(int n) {
        int answer = 0;
        //그 숫자만큼이 한수들의 갯수 임
        if(n < 100) return n;
        //일단 두자릿수까지의 한수를 더하기
        if(n > 100) answer += 99;

        //세자릿수만 확인하면됨
        for(int i = 100; i <= n; i++) {
            String[] arr = String.valueOf(i).split("");
            int sub1 = Integer.parseInt(arr[2]) - Integer.parseInt(arr[1]);
            int sub2 = Integer.parseInt(arr[1]) - Integer.parseInt(arr[0]);
            if(sub1 == sub2) answer++;
        }
        return answer;
    }
}

'Algorithm > baekjoon' 카테고리의 다른 글

단어 정렬  (0) 2021.12.27
통계학  (0) 2021.12.27
제로  (0) 2021.12.26
덩치  (0) 2021.12.26
크로아티아 알파벳  (0) 2021.12.24