<Programmers> 진법_124나라의 숫자

💡Summary & Idea

  • 모든 수를 1,2,4만을 사용해서 표현
  • 모든 수를 0,1,2,3,4,5,6,7,8,9 = 총 10개로 표현하는 숫자를 10진법이라 한다. 여기서 아이디어를 얻어 1,2,4,만을 사용해 표현하는 숫자를 3진법이라고 생각한다

✏️ Solution

  • 숫자 n3으로 나누어 나머지가 0이면 4, 1이면 1, 2이면 2answer에 앞으로 차례대로 추가한다
  • 숫자 n3으로 나눈 몫을 다시 n으로 바꾸어준다
  • 여기서 나머지가 0이어서 4가 저장되었던 경우, n을 3으로 나눈 값에서 1을 빼준다

Source Code

#include <string>
#include <vector>

using namespace std;

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

좋은 웹페이지 즐겨찾기