๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int X; cin>>X;
int sum = 0;
vector<int>piece;
piece.push_back(64);
if(X==64){
cout<<1;
return 0;
}
while(true){
sort(piece.begin(),piece.end());
for(int i:piece) sum+=i;
if(sum==X) break;
if(sum>X){
int half = piece.front()/2;
if(sum-half>X){
piece.erase(piece.begin());
piece.push_back(half);
}
else{
piece.erase(piece.begin());
piece.push_back(half);
piece.push_back(half);
}
}
sum=0;
}
cout<<piece.size()-1;
}
ํ์ด(40๋ถ)
์ด๋ฒ์๋ ๊ตฌํ ์๊ฐ์ 7๋ถ๋ ์ฑ ๋์ง ์์์ง๋ง ๋ฌธ์ ๋ฅผ ์ดํดํ๋๋ฐ 30๋ถ ๊ฑธ๋ ธ๋ค. ๋ฉ์ฒญํ ๊ฒ ํ์คํ๋ค.
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ์์ ๋ง๋๋ฅผ ์๋ฅด๊ณ , ์ ์์ผ๋ก ๋๊ฐ์ด ๊ตฌํํ์ต๋๋ค. ๋ค๋ง ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ๋ฅผ ๋ณด๋ ์ํ์ด์๊ณ , ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ ์ ๋ง ๊ฐ๋จํ๊ฒ ๋ค๋ค ๊ตฌํํ์ต๋๋ค. ์ด ๊ธ์ ๋ณด๋ ์ฌ๋๋ค์ ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 1748๋ฒ - ์ ์ด์ด ์ฐ๊ธฐ1 (0) | 2022.03.15 |
---|---|
[๋ฐฑ์ค,c++] 1912๋ฒ - ์ฐ์ํฉ (0) | 2022.03.15 |
[๋ฐฑ์ค,c++] 1913๋ฒ - ๋ฌํฝ์ด (0) | 2022.03.15 |
[๋ฐฑ์ค,c++] 1021๋ฒ - ํ์ ํ๋ ํ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 2346๋ฒ - ํ์ ํฐ๋จ๋ฆฌ๊ธฐ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 13305๋ฒ - ์ฃผ์ ์ (0) | 2022.03.11 |
๋๊ธ