본문 바로가기
🥇Baekjoon Solutions/기타

[C++] 백준 11005번: 진법 변환2

by 코푸는 개발자 2021. 9. 24.
728x90

https://www.acmicpc.net/problem/11005

 

11005번: 진법 변환 2

10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를

www.acmicpc.net

 

조건
10진법 N을 B진법으로 변화
십진법으로 표현이 불가능 하다면 A:10, B:11 ... Z:35 이와 같이 문자로 표현
입력: N(1~10^9) B(2~36)
출력: 10진법 N을 B진법으로 출력

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main() {
	vector<int>list;
	int N, B;

	cin >> N >> B;

	int sub = N;
	//진수 변환을 위해 나머지 추출
	while (sub / B != 0) {
		list.push_back(sub % B);
		sub = sub / B;
	}

	list.push_back(sub);

	string ans = "";

	for (int i = list.size() - 1; i >= 0; i--) {
		if (list[i] < 10)
			ans += to_string(list[i]);
		else
			ans += (char)(list[i] + 55);// 아스키코드로 문자 변환
	}

	cout << ans;

	return 0;
}
728x90

'🥇Baekjoon Solutions > 기타' 카테고리의 다른 글

[C++] 백준 2671번: 잠수함식별  (0) 2021.09.25
[C++] 백준 10844번: 쉬운 계단 수  (0) 2021.07.28
[C++] 백준 2108번: 통계학  (0) 2021.07.28

댓글