概要
↓こちらに参加し、といた中で現時点で長期間悩むこととなったものです
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)
感想
最初のほうはわからなさ過ぎてExcelで問題の範囲をすべてリスト化して入力されてから、リスト内の答えを表示するものを作ろうかと悩んでたけど、よく考えたら深く考えすぎてた。
また、コードのレビューAIがしてくれるのって新鮮に感じた
あと、記事書くって難しい。