- 백준 1748번: 수 이어 쓰기 1
- 문제
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
→ 1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
- 입력
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
- 출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ_1748 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
int result = 0;
int cnt = 1;
int length = 10;
for(int i = 1 ; i <= num ; i++) {
if(i == length) {
cnt++;
length *= 10;
}
result += cnt;
}
System.out.println(result);
}
}