ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
1748๋ฒ: ์ ์ด์ด ์ฐ๊ธฐ 1
์ฒซ์งธ ์ค์ N(1≤N≤100,000,000)์ด ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋ฌธ์ ํ์ด
๋ธ๋ฃจํธ ํฌ์ค๋ก ํ๋ฉด ์๊ฐ ์ด๊ณผ๋ก ํ์ง ๋ชปํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ๊ตฌํ ์ ์์๊น? ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด๋ฉด ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค.
- ์๋ฆฟ์๋ ๋ช ์๋ฆฟ์ ์ธ์ง๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด 1 ~ 9๋ ํ ์๋ฆฟ์์ด๋ค.
- 1 ~ 9 : 9๊ฐ * ์๋ฆฟ์
- 10 ~ 99 : 90๊ฐ * ์๋ฆฟ์
- 100 ~ 999 : 900๊ฐ * ์๋ฆฟ์
์ฆ, 120์ ๊ฒฝ์ฐ 9 + 180 + ? ๊ฐ ๋๋ค. ๊ทธ๋ผ 100๊ณผ 120์ ์ฌ์ด์ ์๋ค๋ ๊ณ์ฐํ ์ ์๋ค. (120 - 100 + 1) * ์๋ฆฟ์๊ฐ ๋๋ค. 100๊ณผ 120 ์ฌ์ด์ ๊ฐ๋ค ๊ณ์ฐ์์ +1์ ํด์ฃผ๋ ๊ฒ์ 100๋ ํฌํจ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ด์ ๊ฐ์ด ์ฃผ์ด์ง ์์ ์๋ฆฟ์์ ๋ฐ๋ผ ํฉ์ฐํด๊ฐ๋ฉด์ ๊ตฌํ๊ฒ ๋๋ฉด 120์ ๊ฒฝ์ฐ 9 + 180 + 63์ผ๋ก ์ ๋ต์ ๊ตฌํ ์ ์๋ค.
์ฝ๋
if __name__ == "__main__":
n = input()
length = len(n) - 1
sum_length = 0
for i in range(length):
sum_length += 9 * (10 ** i) * (i + 1)
sum_length += ((int(n) - (10 ** length)) + 1) * (length + 1)
print(sum_length)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 6064 ์นด์ ๋ฌ๋ ฅ (2) | 2020.07.12 |
---|---|
๋ฐฑ์ค: 1476 ๋ ์ง ๊ณ์ฐ (0) | 2020.07.11 |
๋ฐฑ์ค: 13398 ์ฐ์ํฉ 2 (0) | 2020.07.09 |
๋ฐฑ์ค: 1149 RGB ๊ฑฐ๋ฆฌ (0) | 2020.07.08 |
๋ฐฑ์ค: 11054 ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด (0) | 2020.07.07 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ