n문자열을 k번 반복한 문자열이 있다.
(n = "9875", k = 4 => "9875987598759875"
각 자릿수의 합이 1자리수가 될때까지 반복한다.
- 처음 n의 각 자리수 합을 구한 후 k를 곱해준다.
- n의 자리수가 1자리수가 나올때까지 반복한다.
int superDigit(string n, int k) {
long long sum = 0;
for(char ch : n)
{
sum += (ch - '0');
}
sum *= k;
n = to_string(sum);
while(n.length() > 1)
{
sum = 0;
for(char ch : n)
{
sum += (ch - '0');
}
n = to_string(sum);
}
return stoll(n);
}
문제를 이해 못해서 찾아봤다. 문자열 최대 길이를 보고 타입을 잘 쓰자.