Algorithm/baekjoon

수 이어쓰기

마닐라 2022. 2. 4. 23:18

📍 문제 설명

 

💡 접근

문자열을 다 더할 필요 없이 자릿수에 따라서만 cnt 값을 더해주면 된다.

 

👩‍💻 코드

import java.util.*;

public class Main {
    static int n, m, answer, cnt, min;
    static String a, t;
    static int[][] board,clone;
    static boolean[] arr;
    static boolean[][] visited;
    static int[] breakdown;
    static int[] dx = {-1,1,0,0};
    static int[] dy = {0,0,-1,1};
    static StringBuilder sb = new StringBuilder();

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

        int n = kb.nextInt();
        int cnt = 1;
        int length = 10;
        for(int i = 1; i <= n; i++) {
            //자릿수가 바뀔때마다 cnt 증가
            if(i == length) {
                cnt++;
                length *= 10;
            }
            answer += cnt;
        }
        System.out.println(answer);
    }

    private void solution() {
    }
}