티스토리 뷰
링크 : https://www.hackerrank.com/challenges/flipping-bits/problem
문제> uint32의 데이터를 받아 이진 표현으로 비트를 뒤집어 얻은 부호없는 정수목록을 출력할것.
(ex : Take 1 for example, as unsigned 32-bits is 00000000000000000000000000000001 and doing the flipping we get 11111111111111111111111111111110 which in turn is 4294967294.)
해결방법.
uint32 범위(0 ~ 4,294,967,295)
uint32의 MaxValue에서 받은 값을 빼면 뒤집은 값이다.
uint의 MaxValue(4,294,967,295) 자체가 11111111111111111111111111111111 이기 때문.
MaxValue에서 빼주면 남은 값이 비트를 뒤집은 값이 된다.
'주간 알고리즘풀기' 카테고리의 다른 글
[171206][HackerRank](C#)The Hurdle Race (0) | 2017.12.06 |
---|---|
[171205][HackerRank](C#)Marc's Cakewalk (0) | 2017.12.05 |
[171201][HackerRank](C++)Tree: Postorder Traversal (0) | 2017.12.01 |
[171130][Codility](C#)StoneWall (0) | 2017.12.01 |
[171129][HackerRank](C#)Mars Exploration (0) | 2017.11.29 |
댓글