AtCoder

【C++で競プロ】AtCoder Beginner Contest 427のA問題解説ブログ

mintson
スポンサーリンク

本日の競プロ問題!

今回はAtCoderAtCoder Beginner Contest 427のA問題を解いてみました!

動画解説が見たい方は上のYouTube動画から!

問題文

英大文字からなる文字列 S が与えられます。ここで、S の長さは奇数です。
S の中央の文字を削除して得られる文字列を出力してください。

制約では
S は英大文字からなる文字列
S の長さは 3 以上 9 以下の奇数
の合計2店があります

引用元:https://atcoder.jp/contests/abc427/tasks/abc427_a?lang=ja

解説

この問題で学べることは文字列Sの長さを求める方法です。
int L = S.length();という書き方でLにS文字列の長さを入れました。

#include <iostream>
#include <string>

using namespace std;

int main(){
    string S;
    cin >> S;
    
    int L = S.length();
    int mid = L / 2;
    
    for(int i = 0; i < L; i++){
        if(i != mid) cout << S[i];
    }
    
    return 0;
}

その後は中央を求めるためmidを使いLを2で割った値を代入。

最後にmid文字目のアルファベットは出力しないようにif分で排除することにより、中央文字がない出力が可能になります。

最後に

動画ではマイクを前に置きながらやっているので結構窮屈な環境で作業をしているためめっちゃスペルミスがありました。

最後の方の問題提出もnamespaceを間違えたりしていて、コーディングの難しさを改めて体感するのと同時に、最近VSCodeの拡張機能重Copliotを入れていて、それの補完機能がそれらのスペルミスやコーディングの速度を上げていて、ツールのありがたみを再度体感しました。

大学生になって、ペンで描くことが減った中、テストの筆記で久しぶりにペンを持った時に似ている感覚でした。

ABOUT ME
夜猫ミント
夜猫ミント
クリエイターです。
色んな創作活動をしています!
スポンサーリンク
記事URLをコピーしました