작성
·
177
0
안녕하세요!
16번 아나그램을 풀다가 이렇게 한번 풀어봤는데요,
16번까지 오면서 처음으로 모범 답안보다 조금 더 효율적인 방법이 아닐까 싶어서 제안겸 자랑(?)을 하기 위해 소스를 공유합니다 :D
#include <iostream>
using namespace std;
int main()
{
//FILE* fp = nullptr;
//freopen_s(&fp, "input.txt", "rt", stdin);
char a[150];
char b[150];
char temp[100] = { 0 };
cin >> a >> b;
for (int i = 0; a[i] != '\0'; i++) {
temp[a[i] - 65]++;
temp[b[i] - 65]++;
}
for (int i = 0; i < 51; i++) {
if (temp[i] == 0)
continue;
if (temp[i] % 2 == 1) {
cout << "NO";
return 0;
}
}
cout << "YES";
return 0;
}
a와 b의 크기를 100으로 했을 경우 "- Stack around the variable 'a' was corrupted." 에러가 발생을 해서 어떻게 해야할지 몰라 일단 메모리 크기를 넉넉하게 잡고 풀었습니다.
좋은 강의 감사드리고 앞으로도 열심히 들을게요!
헐 감사합니다!! 이런 경우도 있었군요 !!