AtCoderで茶色を目指す 21日目

6:40起床。昨晩は延長戦の末、なんとか目標を達成しました。本日はコンテストがあるので、それまで解きまくります。

本日も頑張る!

目標

B問題20問以上解く!以上!

備忘録

久しぶりの備忘録だ〜

英文字を整数で表したい

 まずは問題の方です。

atcoder.jp

 「整数を条件に従って、文字列にしてね」っていう問題です。何回か似たような問題を見たのですが、今まではアルファベット26文字を配列に格納して処理してました。

c = input()
a = ["a","b","c","d","e","f","g","h","i","j","k","l",
"m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
print(a[a.index(c)+1])

めんどくさい。。。

 ということで、便利な方法がないかと探すために、インターネットの大海原へ冒険にでます。「python ord」でググる。(ord関数という存在は知ってました。だって、前に備忘録に書きましたから。備忘録とは。。。)

techacademy.jp

 ord関数は文字列をUnicode値に変換します。Unicodeとは文字コードのことです。国際標準で決められた値です。使い方はシンプル!

print(ord("A")) #65

 ()の中に文字列のUnicode値を返します。
 これだけだと、問題を解くことができないので、次にUnicode値を文字に変換します。chr関数を使います。

print(chr(65)) #A

 ()の中の数値(Unicode値)に該当する文字を返します。

めっちゃ便利じゃん。。。

反省

 かなり、勉強が進みました。休日で何もないと捗りますね。B問題にも慣れてきたので、サクサクと解く問題も増えました。
 あと、コンテストも受けましたよ。感想は次回に書こうと思います。

参考サイト

B - ROT N

Pythonのord関数の使い方を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン