1. 문제
https://level.goorm.io/exam/242856/%EC%9D%B4%EC%A7%84%EC%88%98%EB%A7%8C%EB%93%A4%EA%B8%B0/quiz/1
구름LEVEL
난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.
level.goorm.io
2. 풀이과정
10진수 -> 2진수 변환법 : 10진수 정수를 2로 계속 나눈다.
그때의 나머지를 마지막으로 나온 나머지 -> 처음 나온 나머지 순으로 나열하면 된다.
풀이 1. string 활용
나머지를 to_string으로 변환하고 기존 나머지 문자열 앞에 계속 붙인다.
string binary = "";
while(num > 0)
{
binary = to_string(num % 2) + binary;
num /= 2;
}
풀이 2. 배열 활용
vector에 나머지를 순서대로 저장하고 반대로 출력한다.
vector <int> v;
while(num > 0)
{
v.push_back(num % 2);
num /= 2;
}
for(int i = v.size() - 1; i >=0; i--)
{
cout << v[i];
}
3. C++ 정답코드
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
string binary = "";
while(num > 0)
{
binary = to_string(num % 2) + binary;
num /= 2;
}
cout << binary << endl;
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
int main() {
int num;
cin >> num;
vector <int> v;
while(num > 0)
{
v.push_back(num % 2);
num /= 2;
}
for(int i = v.size() - 1; i >=0; i--)
{
cout << v[i];
}
cout << endl;
return 0;
}
'🏆 PS(Problem Solving) > groomLevel' 카테고리의 다른 글
[C++] groomLevel(구름) 계수기 만들기 (0) | 2024.06.14 |
---|---|
[C++] groomLevel(구름) [KOI 2017] 딱지놀이 (0) | 2024.06.13 |
[C++] groomLevel(구름) 인공지능 청소기 (0) | 2024.06.13 |
[C++] groomLevel(구름) 소금물 농도 구하기 (1) | 2024.06.13 |