k-tokitoh

2019-07-28

AtCoder Beginner Contest 132 A

A - Fifty-Fifty

最初に書いたコード

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

int main() {
  string s;
  cin >> s;

  vector <int> v(4);
  for (int i = 0; i < s.length(); i++) {
    v[i] = s[i];
  }

  sort(v.begin(), v.end());

  string ret;
  if (v[0] == v[1] && v[1] != v[2] && v[2] == v[3]) ret = "Yes";
  else ret = "No";

  cout << ret << endl;
}

他の回答を見て修正したコード

std::sort は string に対してもつかえる。 (string もベースは配列なので当然か。)

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

int main() {
  string s;
  cin >> s;

  sort(s.begin(), s.end());

  string ret;
  ret = (s[0] == s[1] && s[1] != s[2] && s[2] == s[3]) ? "Yes" : "No";

  cout << ret << endl;
}

学んだこと