🙇‍♀️k진수 출력

10진수 N이 입력되면 K진수로 변환하여 출력하는 프로그램을 작성하세요.
스택 자료구조를 사용하시기 바랍니다.

▣ 입력설명
첫 번째 줄에 10진수 N(10<=N<=1,000)과 K(2, 5, 8, 16)가 주어진다.

▣ 출력설명
K진수를 출력한다.

▣ 입력예제 1 
11 2

▣ 출력예제 1
1011

▣ 입력예제 2 
31 16

▣ 출력예제 2
1F

🚀풀이

int n, k;
stack<int> s;

char str[20] = "0123456789ABCDEF";

void solve()
{
	cin >> n >> k;

	while (n > 0)
	{
		s.push(n % k);
		n /= k;
	}

	while (s.empty() == false)
	{
		cout << str[s.top()];
		s.pop();
	}
}

🚀전체 코드

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include<iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <stack>

using namespace std;

int n, k;
stack<int> s;

char str[20] = "0123456789ABCDEF";

void solve()
{
	cin >> n >> k;

	while (n > 0)
	{
		s.push(n % k);
		n /= k;
	}

	while (s.empty() == false)
	{
		cout << str[s.top()];
		s.pop();
	}
}

int main() 
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	//freopen("input.txt", "rt", stdin);

	solve();

	return 0;
}