반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 1748번 수 이어 쓰기 1 파이썬(Python)
1) 문제번호 : 1748번
2) 문제 출처
https://www.acmicpc.net/problem/1748
2. 문제
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
3. 제약사항
4. 입력
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
5. 출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
6. 풀이
- 맨 처음에는 숫자를 str로 변형하여 len을 더하려고 했지만 시간초과가 났다.
- 그래서, 규칙을 찾았는데 1부터 9까지의 자리수의 합은 9, 10부터 99까지의 자리수의 합은 90, 100부터 999까지의 자리수의 합은 900 이렇게 값이 변한다.
- 아래의 코드처럼 규칙을 적용하면 된다.
7. 소스 코드
import sys
input=sys.stdin.readline
#숫자 N
N = int(input())
# N의 길이
length_N = len(str(N))
count = 0
for i in range(length_N-1) :
count += 9 * 10 ** i * (i+1)
print(count + (N - 10**(length_N-1) + 1)*length_N)
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 11050번 이항 계수 1 파이썬(Python) (0) | 2021.06.05 |
---|---|
[백준 알고리즘] 백준 10814번 나이순 정렬 파이썬(Python) (0) | 2021.06.05 |
[백준 알고리즘] 백준 14916번 거스름돈 파이썬(Python) (0) | 2021.06.05 |
[백준 알고리즘] 백준 1676번 팩토리얼 0의 개수 파이썬(Python) (0) | 2021.06.04 |
[백준 알고리즘] 백준 1453번 피시방 알바 파이썬(Python) (0) | 2021.06.02 |
[백준 알고리즘] 백준 1100번 하얀 칸 파이썬(Python) (0) | 2021.06.02 |
[백준 알고리즘] 백준 1247번 부호 파이썬(Python) (0) | 2021.06.02 |
[백준 알고리즘] 백준 17388번 와글와글 숭고한 파이썬(Python) (0) | 2021.06.01 |
최근댓글