While문에서 각 자리의 숫자를 더해서 그 숫자의 합과 i의 합이 N이 되는 값을 찾도록 했다.
아닐경우엔 sum값이 다시 초기화 되어 다시 다른 숫자를 탐색하도록 했다.(오름차순)
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int ans = 0;
for (int i = 0; i < N; i++) {
int sum = 0;
int num = i;
while (num != 0) {
sum += num % 10;
num /= num / 10;
}
if (sum + i == N) {
ans = i;
return 0;
}
}
cout << ans;
}
'코딩테스트 > C++' 카테고리의 다른 글
백준 브루트 포스 알고리즘 1436번 C++ (0) | 2024.02.28 |
---|---|
백준 브루트 포스 알고리즘 19532번 C++ (0) | 2024.02.26 |
백준 브루트 포스 알고리즘 2798번 C++ (0) | 2024.02.21 |
백준 시간복잡도 7_24313번 C++ (0) | 2024.02.20 |
백준 시간복잡도 6_24267번 C++ (0) | 2024.02.19 |