[백준] 1748 수 이어 쓰기1

📖 문제

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

💻 내 코드

n=input()
l=len(n)-1

c=0
i=0

while i<l:
    c+=9*(10**i)*(i+1)
    i+=1

c+=((int(n)-(10**l)+1)*(l+1))
print(c)

💡 풀이

참고 블로그

  • 자리수가 한 개일 때의 총 길이: 9*1
  • 자리수가 두 개일 때의 총 길이: 90*2
  • 자리수가 세 개일 때의 총 길이: 900*3
    ...

이런식으로 나감

while i<l:
    c+=9*(10**i)*(i+1)
    i+=1
  • 입력된 수의 이전 자리수까지 더하고
c+=((int(n)-(10**l)+1)*(l+1))
print(c)
  • 입력된 수의 자리수의 길이 구해서 더해줌

좋은 웹페이지 즐겨찾기