ABC234C - Happy New Year!

考え方

$K$を2進数表記して,1を2に置き換えたものが答え.

回答例

K = int(input())

tmp = []
while K > 0:
  if K % 2:
    tmp.append('2')
  else:
    tmp.append('0')
  K //= 2
  
print(''.join(reversed(tmp)))

bin(x)を使うと,整数を先頭に "0b" が付いた 2 進文字列に変換できる.
【参考】組み込み関数 — Python 3.10.0b2 ドキュメント
これを使うと,次のように書ける.

K = list(bin(int(input()))[2:])

for i, k in enumerate(K):
  if k == '1':
    K[i] = '2'
    
print(''.join(K))