はじめに
DECC2025(DISCO Equipment Coding Contest)と呼ばれるディスコ株式会社主催のプログラミングコンテストの予選に参加しました.
このような競技プログラミング的な大会には出たことがなかったのですが,ふと挑戦したくなり,,というのも本戦が東京に無料でいけるんですよね.
どのみちKaggleへのモチベも高めておく必要があったので,自分の今の実力を試すためにも参戦しました.
問題構成
問題は全部で4問でした.問1から問4まで段階的に問題が難しくなっていき,配点比重も高いです.今回の回答形式だと部分点はないと思うので,正しい解を出力できるかが重要でした.(私は問2までしか解けませんでした...)
得られた知見
問2は「文字列を円環につなげてドーナツ状にし,特定の連続文字が続いた場合のみその部分文字列を除去⇨両端を繋げてドーナツ状にする」を変化しなくなるまで繰り返す問題でした.
円環状に文字列を扱うにはどうしたらいいんだ?と思ったけど,対象文字列+対象文字列の長さ2Nの新たな文字列を考えて先頭から走査することと等価であると気づきました.

こういう問題が与えられないと気づけなかったことですし,勉強になりました.
その他知見として,isuper(), islower()
メソッドで文字の大文字小文字を判定できることもはじめて知りました.
"A".isupper() -> True
"a".islower() -> True