Computer/Algorithm

Daily Algorithm - 수 이어 쓰기 1

kentakang 2018. 2. 11. 05:25
반응형

문제

1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.

1234567891011121314151617181920212223...

이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N(1≤N≤100,000,000)이 주어진다.

출력

첫째 줄에 새로운 수의 자릿수를 출력한다.

예제 입력

120

예제 출력

252

풀이

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int cnt = 0;

        for(int i = 1; i <= n; i *= 10)
            cnt += (n - i) + 1;

        System.out.println(cnt);
    }
}


문제 출처 : https://www.acmicpc.net/problem/1748



반응형