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

[fix] : 가장 많이 되는 시간 조회 시, 6번째 항목에서 시간이 끊기는 문제를 해결한다 #124

Merged
merged 1 commit into from
Dec 1, 2024

Conversation

bbbang105
Copy link
Member

@bbbang105 bbbang105 commented Dec 1, 2024

✅ PR 유형

어떤 변경 사항이 있었나요?

  • 새로운 기능 추가
  • 버그 수정
  • 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
  • 코드 리팩토링
  • 주석 추가 및 수정
  • 문서 수정
  • 빌드 부분 혹은 패키지 매니저 수정
  • 파일 혹은 폴더명 수정
  • 파일 혹은 폴더 삭제

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

문제 원인

...

 for (Map.Entry<Schedule, List<String>> entry : scheduleToNamesMap.entrySet()) {
            Schedule schedule = entry.getKey();
            List<String> curNames = entry.getValue();

            if (curNames.size() == mostPossibleCnt) {
                // 이전 시간대와 병합 가능한 경우
                if (canMergeWithPrevious(previousTime, schedule, curNames, category)) {
                    // 종료 시간을 더해 업데이트
                    previousTime = previousTime.updateEndTime(schedule.getTime());
                    mostPossibleTimes.set(mostPossibleTimes.size() - 1, previousTime);
                } else {
                    List<String> impossibleNames = allMembersName.stream()
                            .filter(name -> !curNames.contains(name))
                            .toList();

                    // 새로운 시간대를 추가
                    GetMostPossibleTime newTime = createMostPossibleTime(schedule, curNames, impossibleNames, category);
                    mostPossibleTimes.add(newTime);
                    previousTime = newTime;
                }
            }

            if (mostPossibleTimes.size() == MAX_MOST_POSSIBLE_TIMES_SIZE) {
                break;
            }
        }

...
  • 6번째 시간대를 처음 추가하는 경우에 종료 조건문에 걸려 바로 반복문이 종료됨. 때문에 30분에서 끊기고 그 이후가 이어지지 않았음
  • 종료 조건문의 위치를 바꾸는 것으로 해결함

해결 전

스크린샷 2024-12-01 오후 11 42 55 스크린샷 2024-12-01 오후 11 43 03
  • 16:00 - 17:00 이 아닌, 16:00 - 16:30 으로 나오는 모습

해결 후

스크린샷 2024-12-02 오전 12 25 18

✏️ 관련 이슈

본인이 작업한 내용이 어떤 Issue Number와 관련이 있는지만 작성해주세요


🎸 기타 사항 or 추가 코멘트

@bbbang105 bbbang105 added 🚨 fix 버그 수정 / 에러 해결 😵‍💫 sangho 상호 PR 🔄 refactor 코드 리팩토링 labels Dec 1, 2024
@bbbang105 bbbang105 self-assigned this Dec 1, 2024
@bbbang105 bbbang105 merged commit 332553a into test Dec 1, 2024
1 check passed
@bbbang105 bbbang105 deleted the fix/#123/most-error branch December 1, 2024 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚨 fix 버그 수정 / 에러 해결 🔄 refactor 코드 리팩토링 😵‍💫 sangho 상호 PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[fix] : 가장 많이 되는 시간 조회 시, 6번째 항목의 시간이 끊기는 문제를 해결한다
1 participant