https://school.programmers.co.kr/learn/courses/30/lessons/12980
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

첨엔 이게... 뭔 말이지 ... 싶었다가
쭉 적어봤는데 이게 어떤 수의 2배는 항상 이동 수가 똑같네? 싶더라고요. 3과 6, 12, 24 이런거 싹 다 똑같음 ㄷㅂ
그러다가 깨달았음 아 2진수 1의 개수를 세면 되는구나!!!
짝수면 일단 2로 나눔
홀수면 1을 빼고 2로 나눔 -> 여기서 1의 사용량 추가됨.
끝~
import java.util.*;
public class Solution {
public int solution(int n) {
int ans = 0;
while(n>0){
n&=n-1;
ans++;
}
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
//System.out.println("Hello Java");
return ans;
}
}
출력 줄 안 지우고 채점 돌렸더니 런타임 오버가 났다 ㅎㅋ
...쩝 쓸모 없는 출력은 미리미리 지워두자.
'Programmers > Java, Ruby' 카테고리의 다른 글
| 프로그래머스 Java : 연속 부분 수열 합의 개수 (0) | 2026.10.27 |
|---|---|
| 프로그래머스 Java : N개의 최소공배수 (0) | 2026.10.27 |
| 프로그래머스 Java : 멀리 뛰기 (0) | 2026.10.26 |
| 프로그래머스 Java : 구명보트 (0) | 2026.10.26 |
| 프로그래머스 Java : 귤 고르기 (0) | 2026.10.26 |