AtCoder Tenka1 Programmer Beginner Contest 2019
A - On the Way
a, b, c = [int(n) for n in input().split()] x = min([a,b]) y = max([a,b]) if x <= c and c <= y: print('Yes') else: print('No')
B - *e**** ********e* *e****e* ****e**
n = int(input()) s = input() k = int(input()) a = s[k - 1] result = [a if s[i] == a else '*' for i in range(n)] print(''.join(result))
C - Stones
「黒い石のすぐ右に白い石があるような箇所がない」ならば、有り得るのは「左側は全て白、右側は全て黒」という状態だけです。この状態は更に「左から n
番目まで白」の場合に分けることができます。よって:
- 左から
n
番目までに存在する黒石の数b[n]
をカウント n
番目より右に存在する白石の数w[n]
をカウントb[n] + w[n]
のn
についての最小値が答え
n = int(input()) s = input() def black(): result = [0] * n count = 0 for i in range(n): if s[-i-1] == '.': count += 1 result[-i-1] = count return result + [0] def white(): result = [0] * n count = 0 for i in range(n): if s[i] == '#': count += 1 result[i] = count return [0] + result num = [x + y for x,y in zip(black(), white())] result = min(num) print(result)
D - Three Colors
解けず