[백준/실버4] 백준 10610번 30 - c++ (수학/그리디 알고리즘/ 문자열/ 정렬/ 정수론) 문제 해석/코드 설명
- N는 최대 10^5개의 숫자로 구성
- 30의 배수의 특징
1. 0이 들어가 있어야 한다.
2. 원소의 합이 3의 배수여야 한다.
#include <iostream>
#include <algorithm>
using namespace std;
int main (){
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
string num=""; //10^5까지니깐 string으로 받아줌
cin >> num;
sort(num.begin(), num.end(), greater<char>()); //내림차순 정렬
bool zero=0;
long long sum =0;
for(int i=0; i<num.size(); i++){
if (num[i] == '0') { //0의 유무 파악
zero = 1;
}
sum +=num[i]-'0'; //개별 원소의 총 합
}
if(sum%3==0&&zero==1){ //원소의 총 합이 3의 배수이고 0이 포함됨
cout << num;
}
else{
cout << -1;
}
return 0;
}
한끗 차이로 난리치다가 5트만에 성공한 ..
[백준/실버4] 백준 1920번 수 찾기 -c++ 이분 탐색 / 자료구조 / 정렬 (0) | 2024.04.04 |
---|---|
[백준/실버3] 백준 15649 N과 M(1) - c++ (dfs/ 백트레킹) (1) | 2024.03.23 |
[백준/실버5] 백준 10814번 나이순 정렬 - c++ (정렬 알고리즘) 문제 해석/코드 설명 (1) | 2024.03.14 |
[백준/실버3] 백준 2108번 통계학 - c++ (수학/ 구현/ 정렬 알고리즘) 문제 해석/코드 설명 (0) | 2024.03.12 |
[백준/실버5] 백준 13241번 최소공배수 - c++ / 유클리드 호제법(최대공약수, 최소공배수) 문제 해석/코드 설명 (0) | 2024.03.12 |
댓글 영역