코딩 테스트

수 이어 쓰기 1 (백분1748)

당근개발자 2021. 11. 15. 00:58

백준 1748

 

package  com.carrot.spring;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main{


    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

        int count = Integer.parseInt(bf.readLine());
        int len =10;
        int cnt =1;
        int result =0;

        for(int i=1;i<=count;i++){

            if(i==len){
                cnt++;
                len*= 10;
            }
            result +=cnt;
        }
        System.out.println(result);


    }

}

  for(int i=1;i<=count;i++){
            result +=Integer.toString(i).length();
        }

처음에는 위에 식처럼 접근했지만, 메모리 초과라 reject 되었고

위에 방식으로 바꾸었다.  10,100단위로 체크하여 증가값을 늘려주는것이다.