백준 1748번 : 수 이어 쓰기1(python)

2022. 1. 16. 23:21·Algorithm/백준

1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.

1234567891011121314151617181920212223...

이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 새로운 수의 자릿수를 출력한다.

예제 입력 1 복사

5

예제 출력 1 복사

5

예제 입력 2 복사

15

예제 출력 2 복사

21

예제 입력 3 복사

120

예제 출력 3 복사

252

코드

n=input()
sum=0
for i in range(len(n)-1):
    if(i!=0):
        sum+=((10**(i+1)-1)-sum1)*(i+1)
        sum1=(10**(i+1)-1)
    else:
        sum1=(10**(i+1)-1)
        sum+=sum1
sum+=(int(n)-(10**(len(n)-1))+1)*len(n)
print(sum)

코드설명

1의 자리면 숫자 1개 10의 자리면 숫자2개 100의 자리면 숫자 3개이니, 그냥 몇의 자리숫자인지 보고 각 숫자의 자리숫자만큼 곱해주면 된다.

느낀점 및 배운점

 

728x90
저작자표시 (새창열림)

'Algorithm > 백준' 카테고리의 다른 글

백준 6064번 : 카잉달력(python)  (0) 2022.01.15
백준 14500번 : 테트로미노(python)  (0) 2022.01.10
백준 1107번 : 리모컨(python)  (0) 2021.12.27
백준 1476번 : 날짜 계산(python)  (0) 2021.12.24
백준 3085번 : 사탕 게임(python)  (0) 2021.12.24
'Algorithm/백준' 카테고리의 다른 글
  • 백준 6064번 : 카잉달력(python)
  • 백준 14500번 : 테트로미노(python)
  • 백준 1107번 : 리모컨(python)
  • 백준 1476번 : 날짜 계산(python)
study ticket
study ticket
  • study ticket
    혼자하는 공부
    study ticket
  • 전체
    오늘
    어제
    • 개발 (77)
      • 오류 (1)
      • Spring (13)
      • Java (0)
      • Data structure (6)
      • Algorithm (49)
        • 백준 (17)
        • 프로그래머스 (2)
      • 문제풀면서 알게되는것들 끄적 (2)
      • 머신러닝 (4)
        • sklearn (3)
        • pandas (1)
      • 프로젝트 (0)
        • 핏두 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준1157
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
study ticket
백준 1748번 : 수 이어 쓰기1(python)
상단으로

티스토리툴바