C++
문자열 배열에서 입력한 문자열과 비교하여 입력한 문자열의 개수만큼 ox 표시 하기[dat 미숙]
2sac
2024. 9. 30. 18:27
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// 1. vect 배열에 "MINCODING" 하드코딩
string vect = "MINCODING";
// 2. DAT 선언 (128 크기, 아스키 문자를 커버)
int DAT[128] = { 0 }; // 아스키 코드 사용, 알파벳 대소문자 포함
// 3. vect 배열에 존재하는 문자들을 DAT에 기록
for (int i = 0; i < vect.length(); i++) {
DAT[vect[i]] = 1; // 해당 문자가 vect에 있음을 표시
}
// 4. 찾을 문자의 개수 n과 n개의 문자 입력받기
int n;
cout << "Enter the number of characters to find: ";
cin >> n;
vector<char> characters(n); // n개의 문자 배열을 동적 할당
cout << "Enter the characters to search, separated by spaces: ";
for (int i = 0; i < n; i++) {
cin >> characters[i];
}
// 5. 문자 존재 여부 확인 및 출력
for (int i = 0; i < n; i++) {
if (DAT[characters[i]] == 1) {
cout << 'O'; // 존재하면 O 출력
}
else {
cout << 'X'; // 없으면 X 출력
}
}
cout << endl;
return 0;
}
1. dat[비교 대상 A]++;
2. if(dat[비교자 B] == 1) ~~~
익숙해질 때까지 연습
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char vect[10] = "MINCODING";
int n;
cin >> n;
char arr[10];
for (int i = 0; i < n; i++) { // 이렇게 해야 n만큼 문자를 입력받으면서 스페이스바로 띄어서 입력가능함.
cin >> arr[i];
}
int dat[100] = { 0 };
for (int i = 0; i < 10; i++) {
dat[vect[i]] = 1;
}
for (int i = 0; i < n; i++) {
if (dat[arr[i]] == 1) cout << "O";
else cout << "X";
}
return 0;
}