
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim();
// const fs = require('fs');
// let input = fs.readFileSync('/dev/stdin').toString().trim();
input=input.split('\n')
const N=+input[0]
let words=[];
const count={};
const number=[0,1,2,3,4,5,6,7,8,9];
for (let i=1;i<=N;i++){
words.push(input[i].trim())
}
// console.log(words)
for (let i=0;i<N;i++){
[...words[i]].forEach((alphabet, index)=>{
if (!count[alphabet]){
count[alphabet]=0;
}
count[alphabet]+=10**(words[i].length-index-1);
})
}
console.log(Object.values(count).sort((a, b)=>b-a).reduce((previous, current, i)=>previous+current*number.pop(),0))
https://parkparkpark.tistory.com/99
내가...자바스크립트를 자유자재로 사용하고 있지 못하다는 생각이 든다.
1. reduce랑 Object.values를 코테에서 써야겠다는 생각을 한 적이 없는데...
2. 나는 객체 배열에 각 알파벳이 들어 있는 자리의 수를 배열로 넣어주려 했는데... 일단 구현도 복잡했고... 답지를 보니 이건 무슨 황당한 풀이인가 싶다.