할껀하고놀자

[백준] 11179번 2진수 뒤집기 (C++, python3) 본문

[IT]/백준

[백준] 11179번 2진수 뒤집기 (C++, python3)

working_hard 2019. 9. 21. 21:30
728x90

C++ code

#include<iostream>
#include<string>
#include<vector>
#include<deque>
#include<math.h>

using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	long s;
	cin >> s;
	deque<int> list;
	while (s != 1) {
		list.push_front(s % 2);
		s /= 2;
	}
	list.push_front(1);
	deque<int> new_list = list;
	for (int i = 0; i <list.size(); i++) {
		new_list[i] = list[list.size() - 1 - i];
	}
	int sum = 0;
	int idx = 0;
	while (!new_list.empty())
	{
		int num = new_list[new_list.size()-1];
		new_list.pop_back();
		sum += num * pow(2, idx);
		idx++;
	}
	cout << sum << "\n";

	return 0;
}

 

python code

n = bin(int(input()))[2:]   # 2 진수로 만들어 주는 bin
print(int(n[::-1],2))       # 이걸 다시 10진수로 만들어 줄 때

Comments