작성
·
133
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요. 강사님,
이 문제를 풀다가 maxN의 크기를 39로 정한 이유를 알고 싶어서 문의드립니다.
문제에서는 n이 충분히 클 때, 1 ≤ M ≤ 230-1
이라는 조건만 있는데요.
코딩테스트 풀 때, 이런 제한에서 max_N을 설정하는 것이 어려운데,
어떤 원리로 정하는지 알고 싶어요.
이와 별개로, 제가 코딩테스트 그동안 7여개 정도 풀었는데,
다 성적이 좋지 않더라고요...ㅜ - ㅜ
혹시 만약에, 추후 강의 보강이나 자료 업데이트 계획이 있으시다면,
코딩테스트 직전에 보면 좋을 정리 올려주시면 너무 좋을 것 같습니다.
답변 1
0
안녕하세요 구재연님 ㅎㅎ
적당히 큰수를 넣으면 되는데요.
이문제 같은 경우 피보나치의 합을 구하면 되는 것인데
일단 이런 점화식은 쉽게 만들 수 있죠.
for(int i = 3; i <= max_n; i++){
f[i] = f[i - 1] + f[i - 2] + 1;
}
이 점화식에다가 적당히 큰 수를 넣으면 됩니다.
문제의 범위는 2의 30승이기 때문에 1000^ 3인 것을 알 수 있습니다.
2 의 10승 = 1024 니까요.
이는 10억정도 되는데요.
저 f[]이 10억 비스므리한 수가 나오게 시도를 한 것입니다.
저 max_n에다가 30, 40 이런식으로 넣다가 39라는 적절한 수를 찾은 것 같습니다.
39는 6억정도 됩니다.
참고 : max_n을 40으로 해도 맞습니다.
즉, 문제의 범위 >> 이 범위를 가질만한 적당한 수를 골라서 >> 점화식 등에 넣어서 max_n을 설정한다.
면 될 것 같습니다.
이와 별개로, 제가 코딩테스트 그동안 7여개 정도 풀었는데,
다 성적이 좋지 않더라고요...ㅜ - ㅜ
>> 음.. ㅠㅠ 제가 죄송합니다. ㅠㅠ 참.. 성과가 좋아야 하는데 맘이 아프네요...
일단... 정확하게 원인이 뭔지 알기 위해서 질문을 좀 드릴게요.
혹시 제 강의 내의 히든퀘스트는 다 풀었고 8주차까지했는데도 성적이 좋지 않나요?
혹시 제 강의 외의 개념이 나와서 틀린건가요? 그렇다면 어떤 개념이 나왔나요?
코딩테스트 직전에 보면 좋을 정리 올려주시면 너무 좋을 것 같습니다.
>> 알겠습니다. ㅎㅎ 추후 업데이트시 반영하도록 하겠습니다.
히든퀘스트 = 잔실수를 줄여주는 역할 + 문제를 빠르게 풀 수 있는 실력을 길러준다.
라고 보시면 됩니다.
아마 개념은 어느정도 하는데 반례생각하는거나 느리게 문제를 풀거나 잔실수가 있거나 하는 게 아닌가 싶습니다.
넵 ㅎㅎ 계획대로 히든퀘스트 풀어주세요.
이건 아마도 연습 과정에서는 TC를 확인할 수 있는데, 코테는 예제 2개만 봐서 놓친 부분이 있던 것 같네요
>> 항상 반례를 생각하는 습관을 지녀야 합니다. 코테 TC 맞음 -> 반례 더 생각해서 몇개 TC 생성해 해보기
이런습관들을 지니시면 충분히 합격할 수 있으실것 같습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
그리고 8주차 + 히든 까지 다하셨다면 코테까지는 하루에 1 ~ 3문제 정도 풀어서 감을 잃지 않는게 중요합니다.
그렇게 꾸준히 하신다면 반드시 합격하실 수 있을거에요.
코테 또 다른 거 보시고 궁금하신점 있으시면 언제든 질문주세요.
답변을 지금 보았네요
혹시 제 강의 내의 히든퀘스트는 다 풀었고 8주차까지했는데도 성적이 좋지 않나요?
- 히든 퀘스트는 푼 적이 없고, 8주차는 I까지만 풀어서 아직 많이 남았습니다.
- 8주차 까지 다 풀고 히든 퀘스트도 풀어보려고요!
혹시 제 강의 외의 개념이 나와서 틀린건가요? 그렇다면 어떤 개념이 나왔나요?
강의 외에 구현 문제, 풀었더라도 TC를 넘기지 못한 경험이 많았어요...ㅜ
이건 아마도 연습 과정에서는 TC를 확인할 수 있는데, 코테는 예제 2개만 봐서 놓친 부분이 있던 것 같네요
혹시 괜찮으시다면, 제가 그동안 풀면서 정리했던 문제들 공유할 수 있어요.