문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/70129
코딩테스트 연습 - 이진 변환 반복하기
programmers.co.kr
문제에서 주어진 조건대로 이진 변환을 반복해주면 되는 문제였습니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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 }; | |
} |

개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 풍선 터트리기 (0) | 2021.10.02 |
---|---|
[Programmers] 쿼드압축 후 개수 세기 (0) | 2021.10.02 |
[Programmers] 삼각 달팽이 (0) | 2021.10.02 |
[Programmers] 두 개 뽑아서 더하기 (0) | 2021.10.02 |
[Programmers] 3진법 뒤집기 (0) | 2021.10.02 |