JAVA_LeetCode 1356_Sort Integers by The Number of 1 Bits


JAVA_LeetCode 1356_Sort Integers by The Number of 1 Bits

JAVA_LeetCode 1356_Sort Integers by The Number of 1 Bits 풀이 class Solution { public int[] sortByBits(int[] arr) { // bitcount를 이용하여 해당 값의 bit를 체크한다. // arr[i]의 최대값이 10^4이므로 비트의 상한가를 높이기 위해 해당 값 비트에 * 10001을 해준다. for (int i = 0; i < arr.length; i++) arr[i] += Integer.bitCount(arr[i]) * 10001; // 값을 오름차순으로 변경 Arrays.sort(arr); // 곱한 비트값에 10001로 나눈 나머지값으로 초기화한다. for (int i = 0; i < arr.length; i++) arr[i] %= 10001; return arr; } } Integer.bitCount를 이용, 해당 값의 비트를 구할 수 있다. 비트가 같은 경우 기존 값을 기준으로 정렬해야 하...


#JAVA #JAVA_LeetCode1356 #JAVA_LeetCode1356_SortIntegersbyTheNumberof1Bits #JAVA_SortIntegersbyTheNumberof1Bits #LeetCode1356_SortIntegersbyTheNumberof1Bits

원문링크 : JAVA_LeetCode 1356_Sort Integers by The Number of 1 Bits