인프런 커뮤니티 질문&답변

차동훈님의 프로필 이미지
차동훈

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

아나그램 문제 풀이 방법!

작성

·

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." 에러가 발생을 해서 어떻게 해야할지 몰라 일단 메모리 크기를 넉넉하게 잡고 풀었습니다.

좋은 강의 감사드리고 앞으로도 열심히 들을게요! 

답변 1

0



a="AAAA"

b="AABB"
 일경우 YES가 뜰것 같아요!

차동훈님의 프로필 이미지
차동훈
질문자

헐 감사합니다!! 이런 경우도 있었군요 !!

차동훈님의 프로필 이미지
차동훈

작성한 질문수

질문하기