4-F count 함수 질문
count 함수 내부가 이해가 안되서 질문 올립니다.
if (word && (word & mask) == word)
설명 해 주신 내용으로는 배운 것을 10진수 숫자로 표현 (mask) 한 값과 word 의 and 비트연산으로 나온 값이 자신이면 배운걸로 이해할 수 있는 단어가 되는 것을 알겠는데요 그럼 그냥 단순히
(word & mask)==word 만 하면 되는 것 아닌가요? 그 앞에 word && 은 왜 있는걸까요?
답변 1
1
안녕하세요 칸토님 ㅎㅎ
굳이 넣을 필요는 없지만
int n, m, words[51];
string s;
int count(int mask) {
int cnt = 0;
for (int word : words) {
if(word && (word & mask) == word)cnt++; 앞의 코드처럼 51개로 배열을 설정해놔서 그렇습니다. 예를 들어 문제에서 20개의 문자열만 주어졌다면 20개는 문자열이 있지만 나머지 31개는 문자열이 공백, 즉 0으로 존재해서 해당 부분을 제외시키기 위해 넣은 방어코드라고 보시면 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
코딩 살구 클럽 컴파일 에러
0
4
1
추천 문제
0
7
1
코딩살구클럽 승인
0
9
1
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
21
2
문제를 고민하는 시간 관련
0
26
2
코딩살구클럽
0
38
2
코딩살구클럽 문의
0
37
2
코딩살구클럽 승인
0
35
2
DP 경우의 수 설명이 이해가 되지 않습니다.
0
33
2
3-F 채점 관련 질문
0
31
1
BFS, DFS 활용이 되는 상황에서의 방향성
0
33
2
코딩살구클럽 승인
0
45
2
코딩살구클럽승인
0
39
3
코딩살구클럽 승인
0
54
2
3-D 관련 질문
0
35
2
코살구 회원가입 문의
0
45
2
코살구 로그인 문제
0
65
2
3-A 문제 풀이 관련 질문
0
56
3
2-O 질문 있습니다
0
38
2
2-T 문제에 관한 질문
0
40
2
코딩 살구 클럽 접속 및 사용방법 문의
0
63
2
안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~
0
67
2
코딩살구클럽 로그인문제
0
85
3
코딩 살구 클럽 로그인 문제
0
86
2





