문제 풀이 001 - 절 대 PTA - basic - 043
2659 단어 문 제 를 풀다
1. 원제 와 나의 방법
사고방식: 만력 알고리즘,
처음부터 P, 출력 을 찾 아 space 로 바 꾸 기;
처음부터 찾 아, A 를 찾 아...
…
매 라운드 순서대로 여섯 자 모 를 한 번 찾 고 한 자 모 를 찾 아 수정 하면 change 를 1 로 설정 합 니 다.
6 개 수정 되면 change Count 는 6,
changeCount = = 0 이면 모든 PATest 가 출력 되 었 음 을 설명 하고 종료 합 니 다.
/*
1043 PATest (20 )
10^4 、 。
, PATestPATest....
, 。
, ,
, PATest ,
。
:
10^4 、
。
:
。 。
:
redlesPayBestPATTopTeePHPereatitAPPT
:
PATestPATestPTetPTePePee
*/
#include
#include
using namespace std;
// ,change=0
// ,change=1
int printAndReplace(char* str,char ch) {
int change = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ch) {
cout << ch;
str[i] = ' ';
break;
change = 1;
}
}
return change;
}
int main()
{
char str[10000] ;
cin >> str;
char pta[] = "PATest";
while (true) {
int changeCount = 0;
for (int i = 0; i < 6; i++) {
changeCount += printAndReplace(str, pta[i]);
}
if (changeCount = 0)
break;
}
system("pause");
return 0;
}
2 결과 와 분석
3 새 버 전의 코드
#include
#include
using namespace std;
int main() {
char str[10000];
cin >> str;
int P = 0, A = 0, T = 0, e = 0, s = 0, t = 0;//
for (int i = 0; i < strlen(str); i++) { //
switch (str[i]) {
case 'P':
P++;
break;
case 'A':
A++;
break;
case 'T':
T++;
break;
case 'e':
e++;
break;
case 's':
s++;
break;
case 't':
t++;
break;
}
}
//
while (P != 0 || A != 0 || T != 0 || e != 0 || s != 0 || t != 0) {
if (P != 0) {
P--;
cout << 'P';
}
if (A != 0) {
A--;
cout << 'A';
}
if (T != 0) {
T--;
cout << 'T';
}
if (e != 0) {
e--;
cout << 'e';
}
if (s != 0) {
s--;
cout << 's';
}
if (t != 0) {
t--;
cout << 't';
}
}
//system("pause");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LeetCode Java First 400 문제 풀이 - 030Substring with Concatenation of All Words Hard You are given a string, s, and a list of words, words, that are all of...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.