๋ฏผ์์ด๋ ์ํํ์์์ ๋จ์ด ์ํ ๋ฌธ์ ๋ฅผ ํธ๋ ์์ ๋ฅผ ๋ฐ์๋ค.
๋จ์ด ์ํ ๋ฌธ์ ๋ N๊ฐ์ ๋จ์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ๋จ์ด๋ ์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด๋, ๊ฐ ์ํ๋ฒณ ๋๋ฌธ์๋ฅผ 0๋ถํฐ 9๊น์ง์ ์ซ์ ์ค ํ๋๋ก ๋ฐ๊ฟ์ N๊ฐ์ ์๋ฅผ ํฉํ๋ ๋ฌธ์ ์ด๋ค. ๊ฐ์ ์ํ๋ฒณ์ ๊ฐ์ ์ซ์๋ก ๋ฐ๊ฟ์ผ ํ๋ฉฐ, ๋ ๊ฐ ์ด์์ ์ํ๋ฒณ์ด ๊ฐ์ ์ซ์๋ก ๋ฐ๋์ด์ง๋ฉด ์ ๋๋ค.
์๋ฅผ ๋ค์ด, GCF + ACDEB๋ฅผ ๊ณ์ฐํ๋ค๊ณ ํ ๋, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7๋ก ๊ฒฐ์ ํ๋ค๋ฉด, ๋ ์์ ํฉ์ 99437์ด ๋์ด์ ์ต๋๊ฐ ๋ ๊ฒ์ด๋ค.
N๊ฐ์ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ ํฉ์ ์ต๋๋ก ๋ง๋๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N(1 โค N โค 10)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ๋จ์ด๋ ์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ์๋ค. ๋ชจ๋ ๋จ์ด์ ํฌํจ๋์ด ์๋ ์ํ๋ฒณ์ ์ต๋ 10๊ฐ์ด๊ณ , ์์ ์ต๋ ๊ธธ์ด๋ 8์ด๋ค. ์๋ก ๋ค๋ฅธ ๋ฌธ์๋ ์๋ก ๋ค๋ฅธ ์ซ์๋ฅผ ๋ํ๋ธ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง ๋จ์ด์ ํฉ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
๐ก ๋จ์ด์ ๊ธธ์ด๋ฅผ ์ซ์๋ก ๋ง๋ค๊ธฐ ์ํด 10์ ์๋ฆฌ๋ก ์นํํจ
๐ก ๊ฐ ๋จ์ด๋ณ ๊ฐ์ค์น๋ฅผ ์ ํด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํจ
๐ก ๊ฐ์ฅ ๊ฐ์ค์น๊ฐ ํฐ ์ํ๋ฒณ๋ถํฐ 9 ~ 0 ์ซ์๋ฅผ ๋ฐฐ์ ํ์ฌ ๋ํจ
for(int i=0; i<n; i++) {
String str = br.readLine();
int length = str.length();
for(int j=0; j<length; j++) {
alpha[str.charAt(j)-65] += (int) Math.pow(10, length-j-1);
}
}
Arrays.sort(alpha, Collections.reverseOrder());
int sum = 0;
int num = 9;
for(int ele : alpha) {
if(ele == 0) break;
sum += (num*ele);
num--;
}
import java.io.*;
import java.util.Arrays;
import java.util.Collections;
public class BOJ_1339 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
Integer[] alpha = new Integer[26];
Arrays.fill(alpha, 0);
for(int i=0; i<n; i++) {
String str = br.readLine();
int length = str.length();
for(int j=0; j<length; j++) {
alpha[str.charAt(j)-65] += (int) Math.pow(10, length-j-1);
}
}
Arrays.sort(alpha, Collections.reverseOrder());
int sum = 0;
int num = 9;
for(int ele : alpha) {
if(ele == 0) break;
sum += (num*ele);
num--;
}
System.out.println(sum);
}
}
์ฑ๊ณตโจ