강의로 돌아가기
랍스타

왜 1,3번 형질을 구하는데 GENOTYPE의 비트연산자 4를 쓰나요?

1,3번 형질을 구하는거면 GENOTYPE & 1 or GENOTYPE & 3으로 해야하는거 아닌가요?

2 개의 답변
Yongtae Cheon

문제에서 형질의 번호는 2진수에서 1의 위치, 값은 별개로 2진수 자체값으로 비교를 하기 때문입니다.
genotype1111(2)일 경우
1,2,3,4를 포함한다는 의미입니다.
형질1은 0001(2) -> 1
형질2는 0010(2) -> 2
형질3은 0100(2) -> 4
형질4는 1000(2) -> 8
과 같이 해당되고, 따라서 형질1과 3을 비교할려면 값 1과 4를 비교해야 하는 것이죠..

리우리우

다 떠나서 프로그래머스 문제들 설명이 너무 개떡같이 된 경우가 많음ㅋㅋ 무슨 문제를 추론해서 이해해야하는게ㅋㅋㅋ

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.