Dolphins의 HelloWorld
[백준]Baekjoon10610(Greedy Algorithm) 본문
문제 링크 : https://www.acmicpc.net/problem/10610
30 = 3 * 10 이며 10의 배수는 0이 필요하고 3의 배수는 각 자리 숫자의 합이
3의 배수라는 성질이 있으므로 이 성질들을 이용하여 코드를 짜 보았다.
#include <iostream> #include <string> #include <cstring> using namespace std; int arr[10]; int main() { string N; cin >> N; int sum = 0; memset(arr, 0, sizeof(int) * 10); for (int i = 0; i < N.size(); i++) { int num = N[i] - '0'; sum += num; arr[num]++; } string result = ""; if ((sum % 3 != 0) || (arr[0] == 0)) result = "-1"; else { result.empty(); for (int i = 9; i >= 0; i--) { char c = i + '0'; while (arr[i]--) { result.push_back(c); } } } cout << result; }
'Algorithm > baekjoon문제풀이' 카테고리의 다른 글
[백준]Baekjoon1080(Greedy Algorithm) (0) | 2018.08.30 |
---|---|
[백준]Baekjoon1783(Greedy Algorithm) (0) | 2018.08.29 |
[백준]Baekjoon2875(Greedy Algorithm) (0) | 2018.08.28 |
[백준]Baekjoon1744(Greedy Algorithm) (0) | 2018.08.28 |
[백준]Baekjoon1541(Greedy Algorithm) (0) | 2018.08.28 |
Comments