본문 바로가기

코딩테스트/백준

[백준-자바] 1094번 막대기 / 2022.05.14

 

https://www.acmicpc.net/problem/1094

 

1094번: 막대기

지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대

www.acmicpc.net

 

 

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);
    }
}