인프런 커뮤니티 질문&답변

코테님의 프로필 이미지
코테

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

8-H

8-H maxN 설정

작성

·

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여개 정도 풀었는데,

다 성적이 좋지 않더라고요...ㅜ - ㅜ

>> 음.. ㅠㅠ 제가 죄송합니다. ㅠㅠ 참.. 성과가 좋아야 하는데 맘이 아프네요...

일단... 정확하게 원인이 뭔지 알기 위해서 질문을 좀 드릴게요.

  1. 혹시 제 강의 내의 히든퀘스트는 다 풀었고 8주차까지했는데도 성적이 좋지 않나요?

  2. 혹시 제 강의 외의 개념이 나와서 틀린건가요? 그렇다면 어떤 개념이 나왔나요?

 

코딩테스트 직전에 보면 좋을 정리 올려주시면 너무 좋을 것 같습니다.

>> 알겠습니다. ㅎㅎ 추후 업데이트시 반영하도록 하겠습니다.

코테님의 프로필 이미지
코테
질문자

답변을 지금 보았네요

 

  1. 혹시 제 강의 내의 히든퀘스트는 다 풀었고 8주차까지했는데도 성적이 좋지 않나요?

    - 히든 퀘스트는 푼 적이 없고, 8주차는 I까지만 풀어서 아직 많이 남았습니다.
    - 8주차 까지 다 풀고 히든 퀘스트도 풀어보려고요!

  2. 혹시 제 강의 외의 개념이 나와서 틀린건가요? 그렇다면 어떤 개념이 나왔나요?

  • 강의 외에 구현 문제, 풀었더라도 TC를 넘기지 못한 경험이 많았어요...ㅜ

  • 이건 아마도 연습 과정에서는 TC를 확인할 수 있는데, 코테는 예제 2개만 봐서 놓친 부분이 있던 것 같네요

    혹시 괜찮으시다면, 제가 그동안 풀면서 정리했던 문제들 공유할 수 있어요.

큰돌님의 프로필 이미지
큰돌
지식공유자

히든퀘스트 = 잔실수를 줄여주는 역할 + 문제를 빠르게 풀 수 있는 실력을 길러준다.

라고 보시면 됩니다.

아마 개념은 어느정도 하는데 반례생각하는거나 느리게 문제를 풀거나 잔실수가 있거나 하는 게 아닌가 싶습니다.

넵 ㅎㅎ 계획대로 히든퀘스트 풀어주세요.

 

이건 아마도 연습 과정에서는 TC를 확인할 수 있는데, 코테는 예제 2개만 봐서 놓친 부분이 있던 것 같네요

>> 항상 반례를 생각하는 습관을 지녀야 합니다. 코테 TC 맞음 -> 반례 더 생각해서 몇개 TC 생성해 해보기

 

이런습관들을 지니시면 충분히 합격할 수 있으실것 같습니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


큰돌님의 프로필 이미지
큰돌
지식공유자

그리고 8주차 + 히든 까지 다하셨다면 코테까지는 하루에 1 ~ 3문제 정도 풀어서 감을 잃지 않는게 중요합니다.

그렇게 꾸준히 하신다면 반드시 합격하실 수 있을거에요.

코테 또 다른 거 보시고 궁금하신점 있으시면 언제든 질문주세요.

코테님의 프로필 이미지
코테

작성한 질문수

질문하기