1969 : DNA

풀이

사실 그리디인지는 잘 모르겠고

그냥 나이브하게 짜면 된다.

코드

#include <stdio.h>

int n, m, d, cnt[51][26];
char s[1001][51], r[1001];

int main() {
	scanf("%d %d", &n, &m);
	for (int i = 0; i < n; i++) {
		scanf("%s", s[i]);
		for (int j = 0; j < m; j++) cnt[j][s[i][j] - 'A']++;
	}

	for (int i = 0; i < m; i++) {
		int mx = 0;
		for (int j = 0; j < 26; j++)
			if (cnt[i][j] > cnt[i][mx]) mx = j;
		for (int j = 0; j < n; j++)
			if (s[j][i] != mx + 'A') d++;
		r[i] = mx + 'A';
	}

	printf("%s\n%d", r, d);

	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2018-03-14 14:34

Read more posts by this author