Programming/Baekjoon

백준 1094번 c++ 막대기

fishersheep 2022. 3. 9. 00:19
반응형

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

 

1094번: 막대기

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

www.acmicpc.net

위의 URL을 클릭하면 문제를 볼 수 있습니다.

 

#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <stack>

using namespace std;


int main()
{
    ios::sync_with_stdio(false);
    cout.tie(NULL);
    cin.tie(NULL);
    
    //64 32 16 8 4 2 1

    int x;
    int answer = 0; //사용되는 막대의 개수
    int arr[7] = { 1,2,4,8,16,32,64 };
    int i = 6;
    cin >> x;

    while (x != 0)  
    {
        if (x - arr[i] >= 0)
        {
            x -= arr[i];
            answer++;
        }
        
        i--;
    }
    
    cout << answer;


    return 0;
}

후기

문제가 잘이해되지않았다. 테스트 예제를 보고 간단하게 절반으로 자른 막대로만 Xcm의 막대를 만드는 것으로 생각하고 문제를 풀어보니 쉽게 해결됬다.

반응형

'Programming > Baekjoon' 카테고리의 다른 글

백준 10451 c++ 순열사이클  (0) 2022.03.10
백준 1753 c++ 최단경로  (0) 2022.03.09
백준 8958 OX퀴즈 [c++]  (0) 2022.03.08
백준 2630 색종이만들기 [c++]  (0) 2022.03.07
백준 10103 주사위게임  (0) 2022.03.07