본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 14491 : 9진수

반응형

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

 

14491번: 9진수

첫째 줄에 10진수 T(1 ≤ T ≤ 10,000)가 주어진다.

www.acmicpc.net

진수변환을 구현하는 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

10진수 t를 선언 후 입력받습니다.

📔 풀이과정

함수 convert()를 수행합니다.

1. 지역변수 tmp를 선언해 t값을 저장합니다.

2. 9진수 변환값을 저장할 문자열 s를 선언합니다.

3. tmp가 양수인 동안 while문을 수행합니다.

4. tmp % 9가 변환된 값이고 이를 s에 문자로 변환해 뒤에 붙여줍니다.

5. tmp = tmp / 9해줍니다.

6. s문자열을 뒤집어줍니다.

📔 정답출력

convert()의 반환값을 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int t;
string convert(){
    int tmp = t;
    string s;
    while(tmp){
        s += to_string(tmp % 9);
        tmp /= 9;
    }
    reverse(s.begin(), s.end());
    return s;
}
int main(){
    cin >> t;
    cout << convert();
}