[Silver 3] [Java] 수 이어 쓰기 1 (1748번)
by HeshAlgo728x90
<수 이어 쓰기 1>
문제 설명
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
제한 사항
입력
첫째 줄에 N(1≤N≤100,000,000)이 주어진다.
출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
내 생각
1~9 = 9개
10 ~ 99 = 90개
100 ~ 999 = 900개
이 규칙을 짜기위한 구현 문제 입니다. 주어진 n 값까지 반복문을 돌립니다. n의 값이 10, 100, 1000... 올라갈때 마다 조건문을 타며 len의 값을 10씩 곱해주고 자릿수값(cnt)을 증가시킵니다.
걸린 시간
12분 21초
작성 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int answer = 0;
int cnt = 1;
int len = 10;
for (int i = 1; i <= n; i++) {
if (i == len) {
len *= 10;
cnt++;
}
answer += cnt;
}
System.out.println(answer);
}
}
|
실행 결과
'알고리즘 > 백준 (시뮬레이션)' 카테고리의 다른 글
[Silver 1] [Java] 톱니바퀴 (14891 번) (0) | 2020.11.08 |
---|---|
[Gold 4] [Java] 나무 재테크 (16235 번) (2) | 2020.11.07 |
[Gold 5] [Java] 주사위 굴리기 (114499 번) (0) | 2020.11.03 |
[Gold 5] [Java] Puyo Puyo (11559 번) (0) | 2020.11.01 |
[Silver 1] [Java] 뱀 (3190번) (0) | 2020.03.29 |
블로그의 정보
꾸준히 공부하는 개발 노트
HeshAlgo