https://www.acmicpc.net/problem/2992
2992번: 크면서 작은 수
정수 X가 주어졌을 때, X와 구성이 같으면서 X보다 큰 수 중 가장 작은 수를 출력한다. 수의 구성이 같다는 말은, 수를 이루고 있는 각 자리수가 같다는 뜻이다. 예를 들어, 123과 321은 수의 구성이
www.acmicpc.net
//[C++] 백준 문제풀이 (String)
#include <bits/stdc++.h>
std::string s;
std::vector<std::string> ret;
std::string str;
bool used[6];
void dfs(){
if (str.length() == s.length()){
if (str > s){
ret.push_back(str);
}
return;
}
for (int i = 0; i < s.length(); ++i){
if (used[i]) continue;
used[i] = true;
str += s[i];
dfs();
used[i] = false;
str.pop_back();
}
}
int main(){
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cin >> s;
dfs();
if (ret.size() == 0){
std::cout << 0 << "\n";
}
else {
std::cout << *std::min_element(ret.begin(), ret.end()) << "\n";
}
return 0;
}
'백준 문제풀이 > String' 카테고리의 다른 글
[C++] 백준 문제풀이 (String) 11899번 괄호 끼워넣기 (0) | 2023.07.07 |
---|---|
[C++] 백준 문제풀이 (String) 1972번 놀라운 문자열 (0) | 2023.06.29 |
[C++] 백준 문제풀이 (String) 15353 큰 수 A+B (2) (0) | 2023.06.28 |
[C++] 백준 문제풀이 (String) 4659번 비밀번호 발음하기 (0) | 2023.06.28 |
[C++] 백준 문제풀이 (String) 1755번 숫자놀이 (0) | 2023.06.14 |