drkcore

2008/09/03 20:28:43

c++でset (SRM-DIV2-250)

ユーザー登録する際にIDがかぶったら数字のナンバリングをする

setの使い方を覚えた。

class UserName {
public:
  string newMember(vector <string> existingNames, string newName) {
    int n=1;
    set <string> s;
    for(int i=0;i<existingNames.size();++i){
      s.insert(existingNames[i]);
    }

    if(s.count(newName) == 0) return newName; 

    while(1){
      stringstream ss;
      ss << newName << n;
      if(s.count(ss.str()) == 0) return ss.str();
      n++;
    }
};

set便利

Comments