vector의 사이즈가 10(0~9)이 될 때까지 숫자를 증가시키면서 string으로 바꾸고 index를 돌며 각 자리의 수를 구해 vector에 중복되지 않게 삽입했다.
#include <iostream>
#include <ios>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int T, N;
string numStr;
vector<int> numbers;
int getResult();
int main() {
cin.tie(0); ios::sync_with_stdio(0);
cin >> T;
for (int testCase = 1; testCase <= T; testCase++) {
numbers.clear();
cin >> N;
cout << '#' << testCase << ' ' << getResult() << "\n";
}
return 0;
}
int getResult() {
int newN = 0;
while (numbers.size() != 10) {
newN += N;
numStr = to_string(newN);
for (int i = 0; i < numStr.length(); i++) {
bool flag = true;
for (int j = 0; j < numbers.size(); j++) {
if (numStr[i] - '0' == numbers[j]) {
flag = false;
break;
}
}
if (flag) numbers.push_back(numStr[i] - '0');
}
}
return newN;
}
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 1289. 원재의 메모리 복구하기 (0) | 2019.04.27 |
---|---|
[SWEA] 1928. Base64 Decoder (0) | 2019.04.26 |
[SWEA] 1859. 백만 장자 프로젝트 (0) | 2019.04.24 |
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까 (0) | 2019.04.22 |
[SWEA] 1954. 달팽이 숫자 (0) | 2019.04.21 |
댓글