[Programmers]-124国/地域の数値


1. Problem 📃


🙌 ソース-プログラマ🙌
問題の説明
124カ国あります124カ国では、数字は10進数ではなく、以下の独自のルールで表されています.
  • 124カ国には自然水しか存在しない.
  • 124国/地域は、すべての数字を表すときに1,2,4しか使用しません.
  • たとえば、124の国で使用される数値は、次のように変換されます.
    十進法124国家十進法124国家116142227213419245121041
    自然数nをパラメータとして指定した場合、解関数を完了し、nを124カ国で使用した数値に置き換えた値を返します.
    せいげんじょうけん
  • nは5000000000以下の自然数です.
  • I/O例
    nresult112234411

    2. Logic 👨‍🏫


    「124」[n%3]を使用して、0の場合は1、1の場合は2、2の場合は4、サイクルの場合は-1を特徴とする.

    3. Code 💻


    1.私が解いたパスワード

    def solution(n):
        answer = ''
        while n > 0:
            n -= 1
            answer = '124'[n%3] + answer
            n //= 3
        return answer

    4. Feedback 📚


    解答に比べて、この問題は長い間悩んでいた.最初からそう直感的に答えを考えるのではなく、三進法を使う部分は分かっていますが、解決できない瞬間に手で一つ一つ書いていくと、全体の数字から-1が続くと出てくる特徴がわかります.数に関する問題は見ても容易ではない😥