161. 30
1.Python
import sys
input = sys.stdin.readline
data = input().rstrip()
sum = 0
data = sorted(data, reverse = True)
if '0' not in data: #끝자리 0, 다 더해서 3의 배수
print(-1)
else:
for d in data:
sum += int(d) #모든 자리수의 합은 3의 배수
if sum % 3 != 0:
print(-1)
else:
print(''.join(data))
2. C++
#include <cstdio>
char s[100001];
int sum, count[128];
int main() {
scanf("%s", s);
for (int i = 0 ; s[i] ; i++) {
sum += s[i] - '0';
count[s[i]]++;
}
if (sum % 3 != 0 || count['0'] == 0) {
printf("-1");
return 0;
}
for (int i = '9' ; i >= '0' ; i--) {
for (int j = 0 ; j < count[i] ; j++) {
printf("%c", i);
}
}
}
Author And Source
이 문제에 관하여(161. 30), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@corone_hi/161.-30저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)