본문 바로가기

Algorithm/Math

(C++) - 프로그래머스(연습문제) : 124 나라의 숫자

반응형

programmers.co.kr/learn/courses/30/lessons/12899

 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

몫과 나머지를 이용한 수학 문제였습니다.

 

풀이방법

이 나라의 한 자리 수는 3개의 수로 표현됩니다. 10진수에서 10을 나눈 나머지는 곧 가장 오른쪽 한 자리의 수를 의미합니다. 3으로 나눈 나머지가 이 나라의 1자리이므로 10진수를 3씩 나누어 조건을 확인한 뒤, 해당 나라의 숫자로 한 개씩 문자를 추가해줍니다.

Code

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

string solution(int n) {
    string answer = "";
    int num = n;
    while(num){
        if(num % 3 == 0) answer = "4" + answer, num--;
        else if(num%3==1) answer = "1" + answer;
        else if(num%3==2) answer = "2" + answer;
        num/=3;
    }
    return answer;
}

int main(){
    int n;
    cin >> n;
    cout << solution(n);
}