백준 문제풀기/JAVA
[백준 1094 JAVA 자바] 막대기
냉동피자
2023. 7. 29. 23:06
길이가 64인 막대를
절반씩 줄이고 더하면서
특정 길이를 맞춘다
라는 뜻은
특정 길이 X를 2진수로 표현하시오
라고 들립니다
예를들어
23을 2진수로 표현하면
16 + 4 + 2 + 1 = 23
10111 입니다
1의 개수가 4개 = 사용한 막대기의 수 4개
가 됩니다
1. 입력받은 숫자를 2진수로 바꾸면서
2. 더해줍니다
3. 출력합니다
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scan= new Scanner(System.in);
int n = scan.nextInt();
int sum = 0;
for(int i=6; i>=0; i--) {
int nn = 1;
for(int j=0; j<i; j++) {
nn *= 2;
}
sum += n/nn;
n = n%nn;
}
System.out.println(sum);
}
}
sum += n/nn; 으로 더해준 이후
n = n%nn; 을 통해
막대기를 재조정하는 과정을 넣었습니다