프로그래머스 (LEVEL 2)
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i <= n; i++){
int sum = 0;
for(int j =i; j <=n; j++){
sum +=j;
if(sum == n){
answer++;
break;
}
// sum 변수가 n보다 크게되면은 반복문을 끝까지 돌지 않아도된다.
else if(sum > n){
break;
}
}
}
return answer;
}
}
프로그래머스 (LEVEL 2)
class Solution {
public int solution(int n) {
int answer = 0;
// Integer.toBinaryString(n) = 2진수로 변환하는 메서드
// Integer.bitCount = 2진수로 변환후 포함된 1을 카운트 해준다
int count = Integer.bitCount(n);
while(true){
// n의 값을 증가시켜준다.
n++;
int result = Integer.bitCount(n);
// 2진수의 1의 갯수가 동일할시 break;
if(count == result){
answer = n;
break;
}
}
return answer;
}
}