백준 11005 : 진법 변환 2

혀니앤·2021년 3월 25일
0

C++ 알고리즘

목록 보기
42/118

★★☆☆☆

진법 변환하는 원리만 이해해서 적용하면 되는 문제
vector로 구현했더니 xmemory 문제가 또 발생해서...
코드를 입력하고 에러가 없으면 바로 제출을 해버리는 식으로 풀었다 ㅠㅠ

<나의 풀이>

b진법의 경우, n을 b로 나눈 나머지 값이 뒷자리부터 채워진다.
그렇기때문에 나머지 값들을 vector에 값을 넣고, 그 값을 뒤에서부터 읽어주면 된다.

#include <iostream>
#include <vector>

using namespace std;

int main() {
	long long n;
	cin >> n;

	int b;
	cin >> b;
	vector<int> arr;

	while (n>=1) {
		arr.push_back(n % b);
		n = n / b;
	}
	for (int i = arr.size()-1; i >=0 ; i--) {
		if (arr[i] < 10) cout << arr[i];
		else {
			cout << (char)('A' + arr[i]-10);
		}
	}
	cout <<"\n";
}
profile
일단 시작하기

0개의 댓글