AtCoder Beginner Contest 039 過去問 (A~C)

参照

atcoder.jp

A問題

1分くらい。

a,b,c = map(int,input().split())
print(a*b*2+b*c*2+a*c*2)

B問題

これも1分くらい。

N = int(input())
print(int(N**(0.25)))

C問題

3,40分くらいかかってしまいました。
鍵盤の音階を探す問題です。

白色鍵盤の位置を目印としながら、音階を探索していきました。
もしかしたらもっと楽なコードも書けると思ったのですが、
僕にはこの方法が先に浮かびました。

S = input()
key = 'WW'
key1, key2 = 'WBWBWW', 'WBWBWB'
lis1 = {6:'Fa',4:'So',2:'La',0:'Si'}
lis2 = {4:'Do',2:'Re',0:'Mi'}
a = S.find(key)
if S[a+1:a+7]==key1: print(lis1[a])
elif S[a+1:a+7]==key2: print(lis2[a])