Edit

【pythonでABC174を解説】D - Alter Altar

問題概要

問題ページ

問題文

祭壇に、左から右へと一列に並ぶ \(N\) 個の石が祀られています。左から \(i\) 個目 \((1 \leq i \leq N)\) の石の色は文字 \(c_i\) として与えられ、\(c_i\) が R のとき赤、W のとき白です。

あなたは、以下の二種の操作を任意の順に何度でも行うことができます。

  • 石を \(2\) 個選び (隣り合っていなくてもよい)、それらを入れ替える。
  • 石を \(1\) 個選び、その石の色を変える (赤なら白に、白なら赤に)。

占い師によると、赤い石の左隣に置かれた白い石は災いを招きます。そのような白い石がない状態に至るには、最小で何回の操作が必要でしょうか。

制約

  • \(2 \leq N \leq 200000\)
  • \(c_i\) は R または W

問題の考察

ACコード

import sys
import itertools


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    c = list(str(input().rstrip('\n')))
    wc = c.count("W")
    rc = c[-wc:].count("R") if wc != 0 else 0
    print(rc)


if __name__ == '__main__':
    solve()

プログラミング

-Edit
-