Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.2.1 #301

Merged
merged 58 commits into from
Aug 5, 2024
Merged

1.2.1 #301

merged 58 commits into from
Aug 5, 2024

Conversation

KWY0218
Copy link
Member

@KWY0218 KWY0218 commented Aug 5, 2024

변경된 회의 시간 추천 로직 반영

KWY0218 and others added 30 commits July 31, 2024 14:57
#289 [feat] 최적의 회의 시간 도출 클래스 틀 구현
given에서 List<TimeBlockDto>를 표현하기 위해서 수십줄이 필요했습니다.
이를 간소화하기 위해 테스트를 위한 코드인 List<TimeBlockDto>를 구현했습니다.
요일, 시작시간, 종료시간, 가중치, 유저 수를 넣으면 해당 값대로
List<TimeBlockDto>를 반환합니다.
각 요일들을 구분할 수 있는지 확인하는 테스트 코드
투 포인터 알고리즘을 활용했습니다.
startIdx와 endIdx를 생성하여 연속된 값이면 continue를 했습니다.

date가 다르거나 연속된 값이 아니라면 startIdx부터 endIdx까지 차를 구하고,
회의 진행 시간 보다 큰지 비교한다.

크다면 해당 값을 BestMeetingVo로 만들어 추가한다.

반복문이 끝난 후, 마지막 연속된 값이 회의 진행 시간보다 큰지 구분하여 추가한다
총 회의 시간의 가중치의 합을 구하는 로직,
회의 진행 시간을 만족하는지 구분하는 로직 추출
time block이 길수록 가중치가 더 커지기 때문에 평균값으로 수정
코드 중복 제거를 위해 ParameterizedTest 도입
displayname 명 수정
사용자가 16:00 ~ 16:30분을 체크한 경우
TIME_SLOT_16_00만 들어오는 것을
고려하지 못한 것에 대한 수정입니다.
#291 [feat] ContinuousMeetingTimeStrategy 구현체 코드 구현
회의 진행 시간 별 긴 블록을 구분하는 로직을 계산하기 위해
매개변수에 duration을 추가했습니다
각 회의 진행 시간마다
최적의 회의 시간을 1개 반환하는 테스트 케이스
최적의 회의 시간을 2개 반환하는 테스트 케이스
sohyundoh and others added 25 commits August 3, 2024 20:22
7명이 진행할 경우 테스트 케이스 추가
#293 [feat] BestMeetingTimeStrategy 구현체 로직 개발
#299 [feat] 이미 추천한 회의 시간대를 이후 조합에서 추천하지 않는 로직 추가
Copy link
Member

@sohyundoh sohyundoh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

굿. 고생하셨습니다!

@KWY0218 KWY0218 merged commit 623725e into main Aug 5, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants