인프런 커뮤니티 질문&답변
6-C 질문있습니다
작성
·
59
0
답변 2
0
안녕하세요 mch님 ㅎㅎ
전반적으로 잘 짜셨네요 ㅎㅎ
다만,
lo =*max_element(arr, arr + n);
hi = accumulate(arr, arr + n, 0);
ret = hi;이부분을 이렇게 고치셔야 합니다.
lo를 0으로 설정했는데 이를 최대값으로 설정해야 합니다.
예를 들어 물건자체가 400원이고 출금금액이 200원이라고 가정했을 때
이 로직이 작동되면 안됩니다.
{
sum = arr[i];
++cnt;
}이 로직은 돈이 부족하면 -> 인출을 하면 살 수 있다.
가 깔린 로직인데 인출금액자체가 0부터 시작해버리면 해당 경우의 수가 생겨서 로직자체가 틀려버리게 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. mch473700님.
알고리즘 문제를 풀면서 반례를 찾는 것은 중요한 요소이며, 문제 해결 능력을 키우는 데 도움이 됩니다. 반례를 찾기 위한 접근 방식에 대해 간단히 설명드리겠습니다.
엣지 케이스 고려하기:
- 입력의 최소값이나 최대값을 활용하여 테스트하세요. 예를 들어, 배열의 길이가 0일 때, 특정 기능이 어떻게 작동하는지 확인합니다.
- 요소들이 모두 동일하거나 모두 다를 때의 작동을 확인해 볼 수 있습니다.
- 입력의 최소값이나 최대값을 활용하여 테스트하세요. 예를 들어, 배열의 길이가 0일 때, 특정 기능이 어떻게 작동하는지 확인합니다.
패턴 탐색하기:
- 특정 규칙에 따라 동작하는지 확인하기 위해 패턴을 가진 값을 설정해 봅니다. 예를 들어, 정렬된 입력이나 특정 반복을 가지는 입력 등을 사용할 수 있습니다.
- 특정 규칙에 따라 동작하는지 확인하기 위해 패턴을 가진 값을 설정해 봅니다. 예를 들어, 정렬된 입력이나 특정 반복을 가지는 입력 등을 사용할 수 있습니다.
논리적인 부분 검토:
- 수학적 논리가 깨질 수 있는 부분은 없는지, 특별한 조건이 필요한지에 대해 다시 한번 추론해 봅니다.
- 수학적 논리가 깨질 수 있는 부분은 없는지, 특별한 조건이 필요한지에 대해 다시 한번 추론해 봅니다.
반례를 보다 효과적으로 파악하기 위해 유사한 문제 및 케이스를 검토해 보세요. 몇 가지 관련 링크를 제공드립니다:
1-K 질문입니다!: 이 링크에서 문제 해결을 위한 다양한 반례를 찾아보실 수 있습니다. 문자열이나 조합 문제에서 유용한 정보가 많습니다.
1-J 반례: 경우의 수를 계산하는 문제에 대한 설명이 포함되어 있습니다. 어떻게 지나칠 수 있는 반례를 체크할 수 있는지 학습해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





