yukicoder No.163 cAPSlOCK
問題
文字列の小文字は大文字に大文字は小文字にする。
感想
それぞれのxor 32をとると大文字・小文字が反対になる。
#include <bits/stdc++.h> using namespace std; int main(void) { string s; cin >> s; for(int i=0;i<s.size();i++){ s[i] = s[i]^32; } cout << s << endl; return 0; }
Twitterで見た
【今日の競プロ】
今日は3/2ですね。32といえば2^5と思う方が大半でしょう。実はアスキーコード表において、アルファベットの大文字と小文字のバイト値のXORを取ると32になります。全て大文字にせよ、などの簡単な文字列処理の問題でコード長を短縮するのに役立つかもしれません。
— 双葉 純 (@catupper) 2015, 3月 2