2022/01/06 목요일

Gong Intaek·2022년 1월 6일
0

일상

목록 보기
209/1016
post-thumbnail

오늘 한 일

  • leetcode
    • Online Election. (medium)
  • 걷기 운동

문제 풀이

Online Election. (medium)

입력되는 시간에 따른 투표 데이터를 바탕으로 특정 시간에서의 우세한 후보를 돌려주는 문제이다.
prototype을 이용한 클래스 구조로서 데이터를 입력 받는 생성 자 부분에서 데이터를 정리하는 과정을 진행하고 시간에 따른 우세후보를 돌려 받는 함수에서는 선택된 결과물을 돌려주는 과정을 작성하였다.

전체적인 코드는 그다지 깔끔하게 완성되지 못하였다. 데이터를 정리하여 시간에 따른 우세 후보를 결정 하는 과정을 진행하는 방법에 있어 좋은 방법이 생각 나지 않아 단순하게 부분 부분 진행하여 원하는 결과를 얻는 방식을 취하였다.

우선 시간에 따라 투표 결과를 누적하는 객체를 구성하고 또한 누적된 결과를 분석하여 해당시간대에서 우세한 후보를 결정 하게 하였다. 문제에서 제시하는 우세한 후보는 해당시간에 가장 투표수가 많은 후보 혹은 투표수가 일치하는 여러 후보가 존재할 경우는 가장 최근에 투표된 후보 이다.

이러한 조건을 만족 시키기 위해 현재 상태에서 가장 많이 투표된 후보의 투표수를 나타내는 변수와 누적된 투표결과를 얻어내었고, 이 자료로부터 최대 투표수에 해당하는 후보 목록을 작성하였다.
해당 후보 수에 따라 우세 후보를 결정하는 두 조건에 맞게끔 후보를 결정하게 하였고 해당 결과를 시간을 키값으로 하는 객체에 추가하였다.

그리고 결과를 돌려주는 함수에서는 해당 객체를 시간순서대로 반복하여 입력된 시간 이전 기록을 확인하여 해당 시간대에서의 우세후보를 돌려주게 작성하였다.

위에서 언급된 것처럼 결과를 얻는 과정이 깔끔하지 못하여 효율적인 결과를 얻지는 못하였지만 주어진 예문에 대해 모두 통과하는 결과를 보여주었다. 좀더 효율적이고 깔끔한 코드를 작성하기위해 좀더 노력 해봐야겠다.


남은 것

클라이언트

  • 현재 상태에서 로그인 창 부분을 재활용하여 로그인 된상태 창을 구현 로그인 결과를 표기하고 로그아웃 버튼구현.
  • 실패시에는 실패 문구를 표현하고 로그인창으로 돌아가는 버튼구현.
  • 로그인 성공, 실패에 따른 결과 부분의 표현을 적용할 것.

서버

  • 데이터베이스와의 연결고리 구성

데이터베이스

  • 유저 네임, 비번만을 컬럼으로 가지는 유저 테이블 구성

코딩 문제 풀이 잘못된 폴더 선택 문제

  • 커밋기록 유지한채로 폴더 옮기는 법 찾는 중

공부 할 것(꾸준히)


오늘은...

회복중.

profile
개발자가 되기위해 공부중

0개의 댓글