본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 2745/c++] 진법 변환 - 문자열

by tokkiC 2022. 6. 25.

진법 변환에 해당하는 문제이다

ABC 등등을 스위치 문으로 멍청하게 넣었다가 자료형까지 헷갈려서 왜 안되지 하고 헛짓했던 문제였다

아니 이 간단한거를... 아직 멀었나보다

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

 

2745번: 진법 변환

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

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;

int main(){
	
	string n;
	int b=0;
	int temp=0;
	int ret=0;
	
	cin >> n;
	cin.ignore();
	cin >> b;
		
	for(int i=0; i<n.length(); i++){
		
		temp=n[i];
		if(temp>=48 && temp<=57){
			temp=temp-48;
		} else if(temp>=65 && temp<=90){
			temp=temp-55;
		}
		
		ret += temp*pow(b, n.length()-i-1);
//		cout << "ret : " << ret << "\n";
	}
	cout << ret << "\n";
		
	return 0;
}

댓글