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

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

AOJ 3172 ?UPC (HUPC 2020 day3-A)

これはそんなにコーナーケースとかはなさそう

問題へのリンク

問題概要

 N 個の文字列  S_{1}, \dots, S_{N} が与えられます。各文字列に対して、

  • 英大文字の部分だけを取り出して、この順に連結した文字列

を作り出し、それを  N 個連結します。そうして得られた文字列の末尾に "UPC" を連結してできる文字列を出力してください。

制約

  •  1 \le N \le 100
  •  1 \le |S_{i}| \le 100

考えたこと

これはさすがにやるだけっぽい

C++

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

int main() {
    int N;
    cin >> N;
    string res = "";
    for (int i = 0; i < N; ++i) {
        string S;
        cin >> S;
        for (auto c : S) {
            if (c >= 'A' && c <= 'Z') res += c;
        }
    }
    res += "UPC";
    cout << res << endl;
}

Python3

def conv(S):
    return ''.join([c if 'A' <= c <= 'Z' else '' for c in S])
N = int(input())
print(''.join([conv(input()) for _ in range(N)]) + 'UPC')