CodingTest_BAEKJOON

백준 알고리즘 - 행성 X3(2830)

bittersweet 2023. 7. 19. 00:01
반응형

 

BufferedReader 함수와 <<, >> (비트연산자)에 대한 이해도를 높일 수 있었던 문제.

 

answer += (1L << i) * zeroCount * oneCount[i];

이 부분을 이해하느라 조금 힘들었다.

  • 0의 개수와 1의 개수를 왜 곱하냐? -> 어차피 두 수의 개수는 전체 주민 수 안에서 논다.
  • ex) 3명이라 가정하면 ==> 0은 1개, 1은 2개 / 0은 3개, 1은 0개 이런 식으로 나온다.
  • 고로, 전부 0 or 1이 아니면 순열에 의해 2^i가 몇 번 곱해져야 하는지 알아낼 수 있고
  • 전부 0 또는 1이라면, 해당 자릿수(2^i)의 숫자는 하나도 없다는 뜻이기 때문에 곱하기 0을 해주면 끝 !

 

반응형