https://www.acmicpc.net/problem/1094
import java.util.Scanner;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int X = sc.nextInt();
// 64cm 막대기를 잘라서 만들 수 있는 막대기 길이
int [] num = {64, 32, 16, 8, 4, 2, 1};
int getsu = 0;
for(int i=0; i<num.length; i++){
if(X == 0) // X가 0이면 종료
break;
if(X<num[i]) // 자른 막대기 길이가 X보다 길다면 다음 막대기랑 비교
continue;
else if(X>=num[i]){ // X보다 자른 막대기가 짧다면
X -= num[i]; // X에서 막대기 길이만큼 빼주고
getsu++; // 갯수 + 1
}
}
System.out.println(getsu);
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준-자바] 11659번 구간 합 구하기 4 / 2022.05.16 (0) | 2022.05.16 |
---|---|
[백준-자바] 14916번 거스름돈 / 2022.05.15 (0) | 2022.05.15 |
[백준-자바] 1059번 좋은 구간 / 2022.05.09 (0) | 2022.05.09 |
[백준-자바] 1120번 문자열 / 2022.05.09 (0) | 2022.05.09 |
[백준-자바] 5671번 호텔 방 번호 / 2022.05.02 (0) | 2022.05.02 |