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

[이분탐색] 11월 5일 #12

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

[이분탐색] 11월 5일 #12

wants to merge 1 commit into from

Conversation

sua005
Copy link
Collaborator

@sua005 sua005 commented Nov 5, 2024

이름: 조수아
학번: 2371060

과제 제출
기존 제출: 17266, 3079, 2343, 16401, 10815

이름: 조수아
학번: 2371060

과제 제출
기존 제출: 17266, 3079, 2343, 16401, 10815
Copy link

@avocado8 avocado8 left a comment

Choose a reason for hiding this comment

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

10815
수아님 안녕하세요 :3 10815번 코드리뷰 드렸습니다.
깔끔하게 풀어주셔서 코멘트 남길 부분이 따로 없네요 :D
질문이 있으시다면 언제든 편히 리뷰어를 호출해주세요~

Comment on lines +8 to +13
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == target) return 1;
else if (arr[mid] > target) right = mid - 1;
else left = mid + 1;
}

Choose a reason for hiding this comment

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

이분탐색의 원리를 잘 이해하고 구현해주셨네요 멋있습니다 :3

Copy link

@sforseohn sforseohn left a comment

Choose a reason for hiding this comment

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

[이분탐색 이론 문제 코드 리뷰 완료]

16401(P2, P3)

수아님 안녕하세요! 어려운 도전문제까지 잘 풀어주셨네요!
주석을 꼼꼼하게 달아주셔서 쉽게 이해할 수 있었습니다!

몇 가지 코멘트 드렸습니다.
궁금한 점이 있다면 리뷰어를 호출해주세요!

Comment on lines +47 to +51
int numPeople, numSnacks;
cin >> numPeople >> numSnacks;

//과자 길이 배열 입력
vector<int> snackLengths = getInputArray(numSnacks);

Choose a reason for hiding this comment

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

P3. 변수명은 스네이크 코드 형식을 따라주세요!

int hello_world;      // 변수
int helloWorld()      // 함수
const int HELLO_WORLD // 상수

Comment on lines +32 to +39
// 사용자 입력을 받아 과자 길이 배열을 반환하는 함수
vector<int> getInputArray(int size) {
vector<int> array(size);
for (int& length : array) {
cin >> length;
}
return array;
}

Choose a reason for hiding this comment

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

P2. 함수화 좋습니다! 그런데 알튜비튜에서는 입출력은 메인에서 받고, 주요 로직은 각 함수에서 구현하는 방식으로 제안드리고 있으니 참고해주세요 😊

Comment on lines +14 to +19
int count = 0;

//각 과자 길이를 현재 중앙값(mid)로 나눠 몇 명에게 나눠줄 수 있는지 계산
for (int length : snackLengths) {
count += length / mid;
}

Choose a reason for hiding this comment

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

P3. 길이가 mid일 때 나누어줄 수 있는 조각의 수를 구하는 부분도 함수로 빼면 좋겠네요 🤗🤗


//과자를 나눠줄 수 있는 최대 길이를 이진 탐색을 통해 찾는 함수
int getMaxSnackLength(int numPeople, const vector<int>& snackLengths) {
int left = 1, right = *max_element(snackLengths.begin(), snackLengths.end());

Choose a reason for hiding this comment

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

매개변수 탐색을 위한 초깃값을 잘 설정해주셨네요 💯

Comment on lines +41 to +58
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

//인원 수와 과자 개수 입력
int numPeople, numSnacks;
cin >> numPeople >> numSnacks;

//과자 길이 배열 입력
vector<int> snackLengths = getInputArray(numSnacks);

//나눠줄 수 있는 최대 과자 길이를 계산하고 출력
int result = getMaxSnackLength(numPeople, snackLengths);
cout << result << "\n";

return 0;
}

Choose a reason for hiding this comment

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

메인함수 깔끔하고 좋습니다👍👍👍

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.

3 participants