Tang's
탕로그
Tang's
전체 방문자
오늘
어제
  • 분류 전체보기 (35)
    • FRONTEND (26)
      • JavaScript (6)
      • Algorithm (2)
      • CSS (2)
      • React (5)
      • Next.js (1)
      • 기타 (4)
      • 임시 (1)
      • 백만가지 ERROR (4)
      • 면접준비 (0)
      • project (1)
    • BACKEND (2)
      • Node.js (1)
      • MongoDB (1)
    • TODAY (7)
      • 생각 (1)
      • 회고 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • jest nextjs typescript
  • linux 폴더 권한
  • Nextjs docker
  • partial prerendering
  • 개발자 회고
  • 폴더 권한 변경
  • 회고
  • 프론트엔드 면접질문
  • 신입 프론트엔드 개발자
  • jest 초기 세팅
  • props와 state 차이점
  • Next.js 14
  • modal 제어
  • yarn create next-app
  • server action
  • jest
  • ec2 권한 설정
  • nextjs ci/cd
  • 프론트엔드 개발자 회고
  • docker-compose ci/cd
  • 신입 프론트엔드 개발자 회고
  • 폴더 권한 확인
  • nextjs metadata
  • Turbopack
  • display:flex
  • jest react-query
  • jest recoil
  • 폴더 권한 설정
  • React
  • nginx-proxy-manager

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Tang's

탕로그

FRONTEND/Algorithm

[Algorithm] 반장 선거 - 최다 득표자 구하기

2022. 8. 30. 19:50

입력 값 : 후보 이름이 적힌 투표지 ( 중복 가능 )

// 후보명단 : 정환, 시령, 규섭

const input = prompt('투표해주세요').split(' '); //input( 정환 정환 정환 시령 규섭 규섭 )

let result = {}; // 후보자 : 득표수를 나타낼 객체
let winner = ''; // 최다 득표자

for(let i in input) {
	let value = input[i]; // value 값 변수지정
	result[value] = result[value] === undefined ? 1 : result[value] + 1;
}

winner = Object.keys(result).reduce((a,b)=> {
	return result[a] > result[b] ? a : b;
}

console.log(`후보자 ${winner}이 ${result[winner]}표로 당선되었습니다!`);
// 후보자 정환이 3표로 당선되었습니다!

 

* point

1. for  in 문

2. Array.reduce() 

 

입력값을 for in문에서 사용하여 인덱스 값을 리턴, input[i] 로 후보자의 이름들을 변수 value에 저장했다.

그 다음 객체 result[value]로 키값에 해당하는 value가 없을 시 1, 있을 시 +1 해주었다.

 

winner 에 Object.key(result)로 후보자의 이름들을 문자열 배열로 받아, Array.reduce()함수로 value값들을 비교 후

가장 큰 value값을 가진 후보자의 이름을 저장하였다.

'FRONTEND > Algorithm' 카테고리의 다른 글

[Algorithm] 10진수를 2진수로 변환 출력하기  (0) 2022.08.27
    'FRONTEND/Algorithm' 카테고리의 다른 글
    • [Algorithm] 10진수를 2진수로 변환 출력하기
    Tang's
    Tang's
    탕탕한 탕진의 기술 블로그!

    티스토리툴바