개발/뇌를 말랑하게하는 코테 연습

[프로그래머스 Lv2] 124 나라의 숫자

njsung 2022. 6. 14. 15:27
반응형

[구현 환경]

  • C++

[문제 설명]

  • 124 나라에는 자연수만 존재하며, 모든 수를 표현할 때 1, 2, 4만 사용함
  • 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return

[함수 원형]

string solution(int n) 
{
	string answer ="";
    
	return answer;
}

[풀이]

string answer = "";
string arr[] = { "4", "1", "2" };

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

    reverse(answer.begin(), answer.end());

    return answer;
}
  • n을 3으로 나눈 값을 answer에 붙여가며 처리
  • n이 0보다 작아지기 전까지는 계속 반복하며 3으로 나누며 처리
  • 붙여준 문자열을 뒤집어서 return
반응형