Java/Java 알고리즘

백준 1748번 수 이어 쓰기 1 JAVA 구현해보기

kimc 2022. 4. 24. 23:15

```

백준 1748번 수 이어 쓰기 1 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1. 백준 1748번 풀이

https://www.acmicpc.net/problem/1748

 

1748번: 수 이어 쓰기 1

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

www.acmicpc.net

 

 

 

백준 1748번 수 이어 쓰기 1은

난이도 실버 등급의 문제로서

 

1부터 N까지 수를 이어수를 만들 수 있고

N이 주어질 때 만들어진 수의 자리수를 구하는 문제입니다.

 

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


 

1234567891011121314151617181920212223...

 

위와 같이 수가 계속 이어진다고 생각해보고

 

1000이라는 숫자를 가지고 새로운 수를 만들 때 자릿수를 생각해보면

 

1의 자리는 1000 - 1 + 1 개 있습니다

10의 자리는 1000 - 10 + 1 개 있습니다

100의 자리는 1000 - 100 + 1 개 있습니다

1000의 자리는 1000 - 1000 + 1 개 있습니다

 

따라서 이를 코드로 나타내면

아래와 같습니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {
        final int n = Integer.parseInt(br.readLine());
        int digit = 0;

        for(int i = 1; i<=n; i*=10){
            digit += n - i + 1;
        }
        System.out.print(digit);
    }
}

//codemasterkimc.tistory.com [김씨의 코딩 스토리]

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩하시길 바랍니다 ~ :)

 


 

728x90