読者です 読者をやめる 読者になる 読者になる

C++競プロ学習日記(仮)

( 学習記録であり解説Blogではないです )

ARC050-A 大文字と小文字|AtCoder

AtCoder コード 競プロ 競プロメモ 関数

A: 大文字と小文字 - AtCoder Regular Contest 050 | AtCoder を解きました。

#include <bits/stdc++.h>
using namespace std;
int main(){
    
    string C,c;
    cin >> C >> c;
    
    transform(C.begin(), C.end(), C.begin(), ::tolower);
    
    cout << ( C == c ? "Yes" : "No" ) << endl;
    
    return 0;
}

大文字 / 小文字 で同じ文字ならtrueです。
transform()を使って解いていたのですが、
入力値がどちらも1文字しか与えられないので走査する必要がないと教えて頂きました。
(確かにbeginとendを書きつつ違和感はあった)

#include <bits/stdc++.h>
using namespace std;
int main(){
    
    char C,c;
    cin >> C >> c;
    
    cout << ( tolower( C ) == c ? "Yes" : "No" ) << endl;
    
    return 0;
}

修正後
めっちゃスッキリしました!!!
何となくtransformtolowerはセットな気がしていたんですが、
(セットで覚えていた)
tolowerだけでも使えるんですねーー(知見)
型はcharで。
便利だ...!というメモでした。

cpprefjp.github.io