단계 : 실버 5
소요시간 : 20분
아래 아이디어 및 풀이입니다.
각 입력 값을 나눠주면서 나머지를 더해주면 됩니다.
코드입니다.
package Question;
import java.util.Scanner;
// 백준 Stick
// 막대기
public class Stick {
public static void main(String[] args) {
solution();
}
// 나누기는 음수가 될수 없음
public static void solution(){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int remain = 0;
while (n > 1){
remain += n%2;
n /= 2;
}
System.out.println(remain+n);
}
}