ABC143 C - Slimes

備忘録

問題

atcoder.jp

回答

"use strict"
function Main(input) {
  input = input.trim().split('\n');
  const N = Number(input[0]);
  const S = input[1].split('');
 
  let tmp = '';
  let ret = 0;
  for(let i=0; i<N; i++){
    if(tmp === S[i]){
      ret += 1;
    }
    tmp = S[i];
  }
  console.log(N-ret);
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

考え方

文字列Sを配列にして、頭から順に英小文字を確認する。
英小文字が一つ前の文字と同じ場合、そのスライムは消える数(ret)として+1しておく。
その後、今の英小文字を保持しておき、次の文字と比較する。