2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【電脳少女 プログラミング2088 Cランク】 廃マンションの一室 Python3による

Posted at
1 / 2

概要

↓こちらに参加し、といた中で現時点で長期間悩むこととなったものです
https://paiza.jp/entry/denno2088_qiita

コーディング経験

小学校時代にWin7を与えられてVSBを少しかじる。
高校時代にPythonをやりはじめ、競ぷろなどに参加を始める。
大学で情報系の学部に進む ← 今ここ

アプローチ

まず絶対値を10進数を3進数に変え、その後、ルールに沿うように数字を変換。
その後整数が負の数ならば、2を1へ、1を2へ入れ替える。

コード

qiita.rbn = int(input())
def do(n):
    ans = []
    while True:
        if n == 1:
            ans.append(1)
            ans.append(0)
            break
        if n == 2:
            ans.append(2)
            ans.append(0)
            break
        ans.append(n%3)
        n = n //3
    for i in range(len(ans)-1):
        if ans[i] == 2:
            ans[i+1] = ans[i+1]+1
        elif ans[i] == 3:
            ans[i+1] = ans[i+1]+1
            ans[i] = 0
    ans.reverse()
    return ans
if n == 0:
    print(0)
    exit()
elif n < 0:
    ans = do(-1*n)
    ans1 = []
    for i in range(len(ans)):
        if ans[i] == 0:
            ans1.append(0)
        elif ans[i] == 1:
            ans1.append(2)
        elif ans[i] == 2:
            ans1.append(1)
    ans = ans1
elif n > 0:
    ans = do(n)
for i in range(len(ans)):
    if ans[i] == 0 and i == 0:
        continue
    print(ans[i],end = "")

レイミレビュー(ナルシストVer)

スクリーンショット 2025-02-09 171256.png

感想

最初のほうはわからなさ過ぎてExcelで問題の範囲をすべてリスト化して入力されてから、リスト内の答えを表示するものを作ろうかと悩んでたけど、よく考えたら深く考えすぎてた。
また、コードのレビューAIがしてくれるのって新鮮に感じた
あと、記事書くって難しい。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?