Problem - A - Codeforces
codeforces.com
방법 1.
'T', 'i', 'm', 'u', 'r' 외의 문자가 있는 지 확인하기
'T', 'i', 'm', 'u', 'r' 각각 1개씩 있는 지 확인하기
+
방법 2.입력 문자열을 정렬시켜 "Timru"와 같은 지 확인
아스키번호 T=84, i=105, m=109, u=117, r=114
- 제목
Spell Check
- 조건
time limit per test : 1 second
memory limit per test : 256 megabytes
input : standard input
output : standard output
- 문제
Timur likes his name. As a spelling of his name, he allows any permutation of the letters of the name. For example, the following strings are valid spellings of his name: Timur, miurT, Trumi, mriTu. Note that the correct spelling must have uppercased T and lowercased other letters.
Today he wrote string s of length n consisting only of uppercase or lowercase Latin letters. He asks you to check if s is the correct spelling of his name.
- 입력
The first line of the input contains an integer t (1≤t≤10^3) — the number of test cases.
The first line of each test case contains an integer n (1≤n≤10) — the length of string s.
The second line of each test case contains a string s consisting of only uppercase or lowercase Latin characters.
- 출력
For each test case, output "YES" (without quotes) if s satisfies the condition, and "NO" (without quotes) otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).
예제 입력1 | 예제 출력1 |
10 5 Timur 5 miurT 5 Trumi 5 mriTu 5 timur 4 Timr 6 Timuur 10 codeforces 10 TimurTimur 5 TIMUR |
YES YES YES YES NO NO NO NO NO NO |
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
#define endl '\n'
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int tc, sz;
string str;
cin >> tc;
while(tc--){
cin >> sz >> str;
bool check = true;
int cnt[5];
for(int n = 0 ; n < 5 ; n++) cnt[n] = 0;
for(int n = 0 ; n < str.size() ; n++){
if(str[n] != 'T' && str[n] != 'i' && str[n] != 'm' && str[n] != 'u' && str[n] != 'r'){
check = false;
break;
}
else{
if(str[n] == 'T') cnt[0]++;
if(str[n] == 'i') cnt[1]++;
if(str[n] == 'm') cnt[2]++;
if(str[n] == 'u') cnt[3]++;
if(str[n] == 'r') cnt[4]++;
}
}
if(cnt[0] * cnt[1] * cnt[2] * cnt[3] * cnt[4] != 1) check = false;
if(check) cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}