해결해야 할 문제
- 1부터 n까지 수를 이어쓰고 어떤 방법으로 자릿수를 얻을 것인지(시간제한)
해결방법
- (내 방법, 시간초과) 브루트포스 방법으로 수를 받고 각각의 수의 길이 만큼을 더해준다
처음코드 시간초과
import java.util.Scanner;
public class ContinueWrite1748 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int count = 0;
for(int i =1; i<=input; i++){
String str = String.valueOf(i);
count = str.length();
}
System.out.println(count);
}
}
import java.util.Scanner;
public class ContinueWrite1748 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int count = 0;
int plus = 1;
int num = 10;
for(int i =1; i<=input; i++){
if(i%num==0){
plus++;
num*=10;
}
count+=plus;
}
System.out.println(count);
}
}