[BOJ] 막대기 - 1094

Kyeongmin·2021년 12월 25일
0

알고리즘

목록 보기
16/24

📃 문제

[BOJ] 막대기 🔗링크


❓ 문제 접근

가지고 있는 막대기의 길이를 모두 더한 sum, 가장 작은 막대기 stick을 이용하여,
가지고 있는 막대기를 일일이 배열에 저장하지 않고 해결할 수 있도록 했다.


🧠 풀이

#include <iostream>

using namespace std;

int main(int argc, const char * argv[]) {
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    int X, count = 1;
    int stick = 64;
    int sum = 64;
    
    cin >> X;
    
    while(sum != X){
        stick /= 2;
        count++;
        
        if(X <= sum-stick){
            sum -= stick;
            count--;
        }
    }
    
    cout << count;
    return 0;
}
profile
개발자가 되고 싶은 공장장이🛠

0개의 댓글