간단한 구현문제. 제시된 대로 작성하면 된다.
https://school.programmers.co.kr/learn/courses/30/lessons/70129
cpp code
#include <iostream>
#include <string>
#include <vector>
#include <bitset>
using namespace std;
vector<int> solution(string s) {
vector<int> answer;
int transformationCount = 0;
int removedZeroCount = 0;
while (s.length() > 1) {
auto it = s.begin();
while (it != s.end()) {
if (*it == '0') {
it = s.erase(it);
removedZeroCount++;
}
else {
it++;
}
}
bitset<18> bs(s.length());
string bitLength = bs.to_string();
s = bitLength.substr(bitLength.find('1'));
transformationCount++;
}
answer.push_back(transformationCount);
answer.push_back(removedZeroCount);
return answer;
}