๐ ๋ฌธ์ ๋ชฉ๋ก
- [๐ฅ1] 2839 - ์คํ ๋ฐฐ๋ฌ
- [๐ฅ4] 2217 - ๋กํ
[๐ฅ5] 1461 - ๋์๊ด(ํต๊ณผ X)
1. ์คํ ๋ฐฐ๋ฌ
๋ฐฑ์ค ๋ก๊ทธ๋ฅผ ๋ณด๋ ์๋
์ด๋ง๋์ฏค ํ๋ฒ ํ์๋ ๋ฌธ์ ์๋ค.
์ฐ์ 5kg์ง๋ฆฌ๋ก๋ง ๋ง๋ค ์ ์๋ ์ต๋ ๊ฐ์ res๋ฅผ ๊ตฌํ ํ
res>0์ด๊ณ ๋๋จธ์ง๊ฐ 3kg๋ก ๋๋์ด ๋จ์ด์ง๋๊น์ง ๊ณ์ 5kg์ง๋ฆฌ๋ฅผ ํ๋์ฉ ๋นผ ์ฃผ์๋ค.
5kg ๊ฐ์๊ฐ 0์ด ๋ ๋์ ํ๋ฒ๋ 3kg๋ก ๋๋ ์ ์์๋ค๋ฉด -1๋ฅผ, ์๋๋ฉด ์ด ๋ด์ง ๊ฐ์๋ฅผ ๊ตฌํด ์ถ๋ ฅํ๊ฒ ํ๋ค.
๋์ด๋๋ ์ด๋ ต์ง ์๊ณ ํ๋ฒ ํ์๋ ๋ฌธ์ ๋ผ ๊ทธ๋ฐ์ง ํ์ด๋ ๊ธ๋ฐฉ ์๊ฐ๋ฌ๋ค.
์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
int main() {
int n, res;
cin >> n;
res = n / 5;
while ((res > 0) && ((n - res * 5) % 3) != 0) res--;
cout << (((n - res * 5) % 3 != 0) ? -1 : res + (n - res * 5) / 3);
}
2. ๋กํ
์ด ๋ฌธ์ ํ๋ฉด์ ์ผ๋ ๋ฉ๋ชจ๊ฐ ์ด๋จ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค๐๐ฆ ๋ญ๊ฐ ๊ณ ๋ฏผํ๋ ๊ฒ ๊ฐ์๋ฐโฆ
์ผ๋จ ์ฝํ ๋กํ๋ ๋ฌด๊ฑฐ์ด ๋ฌผ์ฒด๋ฅผ ๋ค๋ฉด ๋์ด์ง๊ธฐ ์ฌ์ฐ๋ฏ๋ก ๋ณ ๋์์ด ๋์ง ์์ผ๋, ๋์ค์ ๊ณ ๋ คํ๋๋ก ํ๋ค.
์ฆ ๋กํ๋ฅผ ํผํผํ ์์ผ๋ก(=๋ด๋ฆผ์ฐจ์) ์ ๋ ฌํ๋ค.
๊ทธ๋ฆฌ๊ณ ์์๋๋ก ๋กํ๋ฅผ ํฌํจ์ํจ๋ค๊ณ ๊ฐ์ ํ์ ๋ ๋ค ์ ์๋ ์ต๋ ์ค๋์ ๊ณ์ฐํ์ฌ, ํ์ฌ๊น์ง ๊ตฌํด์ง ์ต๋ ์ค๋๋ณด๋ค ๋ง์์ง๋ฉด ์ต๋ ์ค๋๊ฐ์ ๊ฐฑ์ ํ๋ค.
(์ต๋ ์ค๋์ ์ฌ์ฉํ๋ ๋กํ๋ค ์ค ๊ฐ์ฅ ์ฝํ ๋กํ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฑฐ๊ธฐ์ ์ ์ฒด ๋กํ๊ฐ์๋ฅผ ๊ณฑํ ๊ฐ์ด๋ค. ๊ฐ์ฅ ์ฝํ ๋กํ๊ฐ ๋์ด์ง๋ฉด ์ ๋๋๊น.)
์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int n, cnt;
int max=0;
cin>>n;
vector<int> rope(n,0);
for(int i=0; i<n; i++){
cin>>rope[i];
}
sort(rope.begin(), rope.end(), greater<int>());
for(cnt=1; cnt<=n; cnt++){
if(rope[cnt-1]*cnt>max) max=rope[cnt-1]*cnt;
}
cout<<max;
}
3. ๋์๊ด (ํต๊ณผ X)
ํ์ด ์๊ฐํด๋ด๋๋ฐ๋ ์๊ฐ์ด ์ข ๊ฑธ๋ ธ๋๋ฐ, ๋ง์ง๋ง์ ์ค์ํ ํ์ ํต๊ณผํ์ง ๋ชปํ๋ค.
์ด๋๊ฐ ์๋ชป๋๋์ง ํ์ฐธ์ ๋ชป ์ฐพ์์ ์ฃผ์์ ๋ฌผ์ด๋ดค๋๋ฐ ์๊ณ ๋๋ ๋๋ฌด๋ ํ๋ฌดํโฆ์ด๊ฑธ ์ ๋ชป๋ดค์ง?ใ
ใ
ํ๋ฌ ๋ค์ ๋ค์ ํ์ด๋ณด๊ณ ํ์ด ์์ฑํด์ผ๊ฒ ๋ค.