6580번 - 쿼드 트리
6580번 문제를 풀던 중 계속 오류가 나서 코드를 수정하다 보니 마침내 오류 부분을 찾게 되었습니다
그러나 그곳이 왜 오류인지는 아직도 이해하지 못하겠습니다.
두 코드의 내용은 아예 같다고 생각하는데, 하나는 정답처리가 되고 하나는 오답처리가 됩니다.
문제가 생긴 부분은 0x9e,0x6f, 등의 16진수로 주어진 숫자를 이진수로 변환하는 과정에서,
9e -> 이진수로는 10011110 -> 주어진 문제는 이진수를 왼쪽부터 쓰므로 01111001
이렇게 변환이 필요합니다.
따라서 비트 연산자를 통해 연산을 처리하는데, 9e를 한번에 8비트 연산을 통해 변환하면 오답이고,
e 변환, 9 변환을 따로 하면 정답처리가 됩니다.
두 연산은 같은 연산이라고 생각하는데, 논리적인 오류가 있나요?
댓글을 작성하려면 로그인해야 합니다.
ystaeyoon113 3년 전
6580번 문제를 풀던 중 계속 오류가 나서 코드를 수정하다 보니 마침내 오류 부분을 찾게 되었습니다
그러나 그곳이 왜 오류인지는 아직도 이해하지 못하겠습니다.
두 코드의 내용은 아예 같다고 생각하는데, 하나는 정답처리가 되고 하나는 오답처리가 됩니다.
문제가 생긴 부분은 0x9e,0x6f, 등의 16진수로 주어진 숫자를 이진수로 변환하는 과정에서,
9e -> 이진수로는 10011110 -> 주어진 문제는 이진수를 왼쪽부터 쓰므로 01111001
이렇게 변환이 필요합니다.
따라서 비트 연산자를 통해 연산을 처리하는데, 9e를 한번에 8비트 연산을 통해 변환하면 오답이고,
e 변환, 9 변환을 따로 하면 정답처리가 됩니다.
두 연산은 같은 연산이라고 생각하는데, 논리적인 오류가 있나요?