13701번 - 중복 제거
저는 그냥 STL의 힘을 빌려서 풀었는데
직접 구현하면 어떻게 풀 수 있나 해서 다른 사람분들 코드를 봤는데 이해가 안되네여;
https://www.acmicpc.net/source/4703875
해당 코드에서.. 비트마스크로 해당 정수가 체크되었는지 안되었는지 파악하는 건 알겠는데..
왜 인덱스 접근할 때는 해당 정수를 오른쪽으로 3번 쉬프트한 값을 쓰고,
비트마스킹 할 때는 왼쪽으로 8로 나누었을 때 나머지 만큼 쉬프트한 값을 쓰는 건가요?
근데 이게 꼭 8로 나눈 나머지와 몫을 쓸 필요는 없고 32로 해도 되더라고요..
원리 자체가 이해가 안됩니다.. 설명하기 어려우시면 관련 링크를 걸어주셔도 좋습니다..!
이해했습니다. int 타입이냐 char 타입이냐 그 차이 땜에 그런거였네요
메모리 구조 생각하니까 바로 해결됐습니다.
댓글을 작성하려면 로그인해야 합니다.
keunbum 4년 전
저는 그냥 STL의 힘을 빌려서 풀었는데
직접 구현하면 어떻게 풀 수 있나 해서 다른 사람분들 코드를 봤는데 이해가 안되네여;
https://www.acmicpc.net/source/4703875
해당 코드에서.. 비트마스크로 해당 정수가 체크되었는지 안되었는지 파악하는 건 알겠는데..
왜 인덱스 접근할 때는 해당 정수를 오른쪽으로 3번 쉬프트한 값을 쓰고,
비트마스킹 할 때는 왼쪽으로 8로 나누었을 때 나머지 만큼 쉬프트한 값을 쓰는 건가요?
근데 이게 꼭 8로 나눈 나머지와 몫을 쓸 필요는 없고 32로 해도 되더라고요..
원리 자체가 이해가 안됩니다.. 설명하기 어려우시면 관련 링크를 걸어주셔도 좋습니다..!
이해했습니다. int 타입이냐 char 타입이냐 그 차이 땜에 그런거였네요
메모리 구조 생각하니까 바로 해결됐습니다.