뚱땅뚱땅

[알고리즘]백준 1339번 단어 수학 본문

알고리즘/백준

[알고리즘]백준 1339번 단어 수학

양순이 2020. 6. 28. 17:44
728x90

문제: https://www.acmicpc.net/problem/1339

 

1339번: 단어 수학

첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대

www.acmicpc.net

 

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;

bool desc(int a, int b) {
	return a > b;
}

int main() {
//	ios::sync_with_stdio(false);
	int alphabet[26] = { 0, };

	int n;	//단어의 개수
	cin >> n;
	int answer = 0;	//정답

	for (int i = 0; i < n; i++) {
		char word[8];	//입력받는 문자
		cin >> word;

		int len = strlen(word);
		int pos = (int)pow(10, len - 1);

		for (int j = 0; j < len; j++) {
			alphabet[word[j] - 'A'] += pos;
			pos /= 10;
		}
	}
	// 알파벳 크기 순 정렬
	sort(alphabet, alphabet + 26, desc);
	int tmp = 9;
	for (int i = 0; i < 26; i++) {
		if (alphabet[i] == 0)
			break;

		answer += (tmp * alphabet[i]);
		tmp--;
	}
	cout << answer;

}
728x90
Comments