알고리즘/programmers

[Programmers] 이진 변환 반복하기

꾸준함. 2021. 10. 2. 14:24

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/70129

 

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

 

programmers.co.kr

문제에서 주어진 조건대로 이진 변환을 반복해주면 되는 문제였습니다.

 

#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(string s) {
int cnt = 0, zeroCnt = 0;
while (s != "1")
{
string temp;
for (char c : s)
{
if (c == '0')
{
zeroCnt++;
}
else
{
temp += c;
}
}
int N = temp.length();
s = "";
while (N)
{
s += (N % 2) + '0';
N /= 2;
}
reverse(s.begin(), s.end());
cnt++;
}
return { cnt, zeroCnt };
}
view raw .cpp hosted with ❤ by GitHub

 

개발환경:Visual Studio 2017

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형