프로그래밍 알고리즘

[정올 1566] 소수문자열

꾸준한사람 2023. 1. 5. 02:59
반응형

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=839&sca=99&sfl=wr_hit&stx=1566 

 

JUNGOL

 

www.jungol.co.kr

#include <stdio.h>

enum Alphabet {
	A = 65, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, MAX
};

char Sentc[10010];
int AlphaNum[MAX];

void Input() {
	scanf("%s", Sentc);
}

void FillNum() {
	for (int i = 0; Sentc[i] != 0; i++)
		AlphaNum[Sentc[i]]++;
}

bool IsPrimeNum(int n) {
	for (int i = 2; i*i <= n; i++)
		if (n % i == 0) return false;
	return true;
}

void CheckPrimeNum() {
	bool bIsPrime = false;
	for (int i = A; i < MAX; i++) {
		int CharNum = AlphaNum[i];
		if (CharNum > 1 && IsPrimeNum(CharNum)) {
			printf("%c", i);
			bIsPrime = true;
		}
	}

	if (bIsPrime == false) printf("NONE");
}

int main(void) {
	Input();
	FillNum();
	CheckPrimeNum();

	return 0;
}
반응형