[BaekJoon] 1748 수 이어 쓰기 1
1. 문제 링크
https://www.acmicpc.net/problem/17482. 문제
요약
- 1부터 N까지의 수를 이어서 썼을 때 만들어지는 수의 자릿수를 구하는 문제입니다.
- 입력: 첫 번째 줄에 N이 주어집니다/
- 출력: 만들어지는 수의 자릿수를 출력합니다.
3. 소스코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static int num;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
num = Integer.parseInt(br.readLine());
br.close();
int result = 0;
int cnt = 1;
int length = 10;
for(int i = 1; i <= num; i++) {
if(i == length) {
cnt++;
length *= 10;
}
result += cnt;
}
bw.write(result + "\n");
bw.flush();
bw.close();
}
}
4. 접근
- 1부터 N까지의 숫자를 이어서 쓰는 것이므로 1부터 N까지 각 숫자의 자릿수를 다 더하면 되는 문제입니다.
- 1부터 진행하여 자릿수가 변경될 때, 더하는 값을 1씩 증가시켜 N까지 더한다면 최종 자릿수를 구할 수 있습니다.
Author And Source
이 문제에 관하여([BaekJoon] 1748 수 이어 쓰기 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@taeho97/BaekJoon-1748-수-이어-쓰기-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)