정수 k가 주어졌다고 가정합니다. 그 숫자의 모든 자릿수가 같을 때 우리는 숫자를 특수 숫자라고 부릅니다. 예를 들어 1, 11, 1111은 특수 숫자입니다. 1, 11, 111, 1111, 2, 22, 222, 2222, 3, 33, 333, 3333 등의 순서로 특수 번호를 계산합니다. 우리는 k까지의 특수 숫자에 있는 총 자릿수를 찾아야 합니다. k 값은 10000보다 크지 않습니다.
따라서 입력이 k =9999와 같으면 출력은 90이 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
s := convert k to string Define an array v of size: := {0, 1, 3, 6, 10} print(((s[0] - '0') - 1) * 10 + v[length of s])
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int k) { string s = to_string(k); int v[] = {0, 1, 3, 6, 10}; cout<< ((s[0] - '0') - 1) * 10 + v[s.length()] << endl; } int main() { int k = 9999; solve(k); return 0; }
입력
9999
출력
90