PS

프로그래머스 - 이진 변환 반복하기

728x90

programmers.co.kr/learn/courses/30/lessons/70129

 

코딩테스트 연습 - 이진 변환 반복하기

 

programmers.co.kr

 

단순한 구현 문제다.

 

- c++

 

#include <string>
#include <vector>
 
using namespace std;
 
vector<int> solution(string s) {
    vector<int> answer(20);
    int cnt = 0, zero = 0;
    while(s != "1") {
        cnt++;
        string temp;
        for (int i = 0; i < s.length(); ++i) {
            if (s[i] == '1') temp.push_back(s[i]);
            if (s[i] == '0') zero++;
        }
        
        int len = temp.length();
        temp = "";
        while(len != 0) {
            int num = len % 2;
            temp = temp + to_string(num);
            len /= 2;
        }
        
        s = temp;
    }
    answer[0= cnt;
    answer[1= zero;
    return answer;
}
cs

 

 

 

728x90