keunbum   4년 전

저는 그냥 STL의 힘을 빌려서 풀었는데

직접 구현하면 어떻게  풀 수 있나 해서 다른 사람분들 코드를 봤는데 이해가 안되네여;

https://www.acmicpc.net/source/4703875

해당 코드에서.. 비트마스크로 해당 정수가 체크되었는지 안되었는지 파악하는 건 알겠는데..

왜 인덱스 접근할 때는 해당 정수를 오른쪽으로 3번 쉬프트한 값을 쓰고,

비트마스킹 할 때는 왼쪽으로 8로 나누었을 때 나머지 만큼 쉬프트한 값을 쓰는 건가요?

근데 이게 꼭 8로 나눈 나머지와 몫을 쓸 필요는 없고 32로 해도 되더라고요..

원리 자체가 이해가 안됩니다.. 설명하기 어려우시면 관련 링크를 걸어주셔도 좋습니다..!

이해했습니다. int 타입이냐 char 타입이냐 그 차이 땜에 그런거였네요

메모리 구조 생각하니까 바로 해결됐습니다.

댓글을 작성하려면 로그인해야 합니다.