けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 111 A - AtCoder Beginner Contest 999 (8Q, 灰色, 100 点)

文字列として処理する方が楽であろう。

問題概要

3 桁の整数  n が与えられる。 n の各桁の値について、1 は 9 に変換し、9 は 1 に変換したものを出力せよ。

解法

整数ではなく、文字列として処理する方が楽だと思われる。各文字について、

  • '1' なら '9' を出力
  • '9' なら '1' を出力
  • それ以外ならそのまま出力

とすればよい。

#include <bits/stdc++.h>
using namespace std;

int main() {
    string n;
    cin >> n;
    for (auto c : n) {
        if (c == '1') cout << '9';
        else if (c == '9') cout << '1';
        else cout << c;
    }
    cout << endl;
}