작성
·
145
0
int go(int index, int k, int mask) {
if (k < 0) return 0;
if (index == 26) return count(mask);
int ret = go(index+1, k-1, mask | (1 << index));
if (index != 'a'-'a' && index != 'n'-'a' && index != 't'-'a' && index != 'i'-'a' && index != 'c'-'a') {
ret = max(ret, go(index+1, k, mask));
}
return ret;
}
위 GO함수 내에서 마스킹할때는 ret에 max 처리를 하지 않았는데 마스킹하지 않을 경우에 ret에 max처리를 하신 이유가 궁금해서 질문드립니다! 어떠한 차이가 있는건지 잘 이해가 안가네요 ㅜㅜ
답변 1
1
안녕하세요 희수님 ㅎㅎ
이건 이렇게 생각하시면 되요.
A = 1;
A = max(1, 2);
이렇게 하면 1과 2중에서 max값이 담기죠?
이부분의 코드도 해당 알파벳을 배웠을 때 배우지 않았을 때의 경우의 수 중 최대값을 담아야 하기 때문에 저런 코드가 들어가는 것입니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.