見出し画像

ほぼ日刊競プロ ABC271 A - 484558

A - 484558

問題文
0123456789 に加えて 10,11,12,13,14,15 に対応する数字として ABCDEF を使う 16 進表記では、0 以上 255 以下の整数は 1 桁または 2 桁になります。
例えば、0 や 12 は 16 進表記では 0 や C と 1 桁になり、99 や 255 は 16 進表記では 63 や FF と 2 桁になります。
0 以上 255 以下の整数 N を、必要に応じて先頭に 0 を加えることでちょうど 2 桁の 16 進表記に変換してください。
注記
英大文字と英小文字は区別されます。特に、16 進表記の数字として ABCDEF の代わりに abcdef を使うことは出来ません。

考えたこと

16進数に直し,帳尻を合わせて2桁にする.また小文字を大文字に直す処理を行う.16進数に直すときはhexを使う.変換した際に3桁だった場合は0を加え最後の数字orアルファベットを大文字に直す.元の数字が16以上であればただ大文字にすれば良いだけ.

N = int(input())

temp = hex(N)
if (len(temp))==3:
   print ("0"+temp[-1].upper())
else:
   print (temp[2:].upper())

いいなと思ったら応援しよう!