AtCoder

【C++競プロ解説】substrを使ってAtCoder Beginner Contest 458 A – Chompersを解いてみた!

mintson
スポンサーリンク

解説動画

動画で解説を見たい方は上のYouTubeから閲覧できます!

A – Chompers解いてみた!

今回の問題文は英小文字からなる文字列 S と正の整数 Nをまずは入力します。

それをN文字分Sの前と後ろを切り抜くものになります。

例えばyorunekomint 3と入力されたらunekomと出力していくみたいな感じです。

1.for文を使った解き方

#include <bits/stdc++.h>

using namespace std;

int main(){
  string S;
  int N;
  
  cin >> S >> N;
  
  int len = S.length();
  
  for(int i = N; i < len - N; i++){
    cout << S[i];
  }
  
  return 0;
}

文字列Sの長さをS.length()で取得したのをlenにします。

そしてN文字目からlen – N文字目までをfor文でループ出力することによって、答えの文字列を書き出します。

2.substrを使う方法

#include <iostream>
#include <string>
using namespace std;

int main() {
    string S;
    int N;

    cin >> S;
    cin >> N;

    cout << S.substr(N, S.size() - 2 * N) << endl;

    return 0;
}

substringは文字列の一部を切り出す(抽出する)関数で、公式とすればsubstr(開始位置, 長さ) となります。

今回の問題には結構適していて、SのN文字目から文字列Sを2N分引いた長さを出力して欲しいといったシュチュレーションだったので個人的な解き方のおすすめは二つ目になります。

まとめ

AIが普及してコードを書くことが少なくなったのですが、最近の改悪で自分が契約していたAIが使えるトークン量を制限したので、自分で書ける能力の重要さに再度気付かされたので、このようなコード解説の動画や記事を増やしていくのでこれからもよろしくです!by夜猫ミント

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