학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램을 작성하시오.
입력 : 원범 원범 혜원 혜원 혜원 혜원 유진 유진
출력 : 혜원(이)가 총 4표로 반장이 되었습니다.
가장 표를 많이 받은 사람이 반장이 된다.
공백으로 입력값을 구분하여 입력한다.
입력값을 배열로 담아낸다.
배열의 중복 값과 개수를 추출해야 한다.
가장 큰 개수 값을 가진 이름과 개수를 출력해야 한다.
const input = prompt('후보들을 공백으로 입력하세요').split(' ');
let result = {};
let president = '';
for(let i = 0; i < input.length; i++) {
let name = input[i]
result[name] = result[name] === undefined ? 1 : result[name] = result[name] +1
}
president = Object.keys(result).reduce((a,b) => result[a] > result[b] ? a : b);
console.log(`${president}(이)가 총 ${result[president]}표로 반장이 되었습니다.`);
// 후보들을 공백으로 입력하세요> 원범 원범 혜원 혜원 혜원 혜원 유진 유진
// 출력: 혜원(이)가 총 4표로 반장이 되었습니다.
const obj = {
a: 'Hello',
b: 52,
c: false,
};
console.log(Object.keys(obj));
// expected output: Array ["a", "b", "c"]
const array = [1, 2, 3, 4];
const reducer = (a, b) => a + b;
console.log(array.reduce(reducer)); // 1 + 2 + 3 + 4
// expected output: 10
기본기가 많이 부족하다는 생각을 했다.
더 많이 공부하고 익히도록 해야겠다. 🔥🔥🔥