测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5393. 向队长看齐

编程题 普及-
知识点

题目描述

从西到东排着 $N$ 个人。每个人面朝东(E)或面朝西(W)。
你需要在这 $N$ 个人中选出一位作为队长,然后其余所有人都必须面向队长所在的方向:

队长左边(更靠西)的人应该面向东;

队长右边(更靠东)的人应该面向西;

队长本人面向哪里不重要,也不需要转身。

人们不喜欢转身。请你选择一个队长位置,使得需要转身的人数尽可能少,并输出这个最小人数。

输入格式

第一行是整数 $N$。

第二行是一个长度为 $N$ 的字符串 $S$,仅包含 E 和 W。第 $i$ 个字符表示从西向东第 $i$ 个人的朝向。

输出格式

输出一个整数,表示在最优选择下需要转身的最少人数。

输入输出样例

输入 #1
5
WEEWW
输出 #1
1
输入 #2
12
WEWEWEEEWWWE
输出 #2
4

说明/提示

$2 \le N \le 3\times 10^5$

$|S|=N$,且 $S_i \in {\texttt{E},\texttt{W}}$

对于样例一:

若把第 $3$ 个人当作队长,则左边两个人应面向东,此时只有第 $1$ 个人(原本是 W)需要转身;右边两个人应面向西,已全部满足。所以共需转身 $1$ 人,且无法做到 $0$ 人。
上一题 去做题 下一题