C++ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๊ณต๋ถํ ๊ฒธ ๋ฐฑ์ค ๋ฌธ์ ๋ค์ C++๋ก ํ์ด๋ณด๋ ค๊ณ ํ๋ค.
์ฌํ ๋ฐฑ์ค์ ํ์ด์ฌ, C๋ก๋ง ํ์๋๋ฐ ํ๊ต์์ ์๊พธ C++์ ์จ์.. ๊ฐ์ ๊ณต๋ถ
์ฒ์ ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถํ ๋๋ ์ฝํ ์ ๋ฌธํ ๋๋ ํ์ด์ฌ์ด ์๋์ ์ผ๋ก ์ฝ๊ฒ ์ง๋ง..
๋ฐํ์ ์ด์๋ ๊ทธ๋ ๊ณ ์๋ฃ๋ ๋ ํ๋ถํด์ ์๊ฐ๋ ๋ C++๋ก๋ ๊ณต๋ถํด๋ฌ์ผ ํ๊ฒ ๋ค ์ถ์ด์..
ํ๊ฒ ๋๋ค๋ ์ด์ผ๊ธฐ.
์๋ฌดํผ!
๊ทธ๋์ ๋ฐฑ์ค ์ฌ์ดํธ์์ jihwan0319๋์ด ํธ์งํ
<C++์ฐ์ตํ๊ธฐ!> ๋ฌธ์ ์ง์ C++๋ก ํ์ด๋ณด์๋ค.
https://www.acmicpc.net/workbook/view/10119
์ด ๋ฌธ์ ์ง์๋ 1000, 1001, 1008, 10998, 1026, 2659, 2693, 15970, 15975, 20186๋ฒ ๋ฌธ์ ๊ฐ ์๋ก๋์ด ์๋ค.
1000. A+B
์ฒซ์งธ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. (0 < A, B < 10)
=> ์ฒซ์งธ ์ค์ A+B๋ฅผ ์ถ๋ ฅํ๋ค.
๊ธฐ๋ณธ์ ์ธ ์
์ถ๋ ฅ์ ์ํด <iostream> ํค๋ ํ์ผ์ include ํด์ผ ํ๋ค.
C++์์๋ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ํจ์๋ผ๋ namespace๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ํจ์๊ฐ ๋๋ค.
๋ฐ๋ผ์ ํจ์๋ฅผ ์ธ ๋ (namespace)::(function)๊ผด๋ก ์ฐ๋์ง, ์๋๋ฉด main ํจ์ ๋ฐ์ using namespace (namespace);๋ฅผ ํด์ฃผ์ด ํน์ namespace์์๋ง ํจ์๋ฅผ ์ฐ๋ ๊ฒ์ผ๋ก ์ ์ด์ ์ ์ํด๋ฒ๋ฆด ์๋ ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ ํด๋น namespace์ ์ด๋ฆ์ด ๊ฒน์น๋ ํจ์๋ฅผ ๋ง๋ค ๊ฒฝ์ฐ ์ค๋ฅ๋ฅผ ์ผ์ผํค๋ฏ๋ก ๊ถ์ฅ๋์ง ์๋ ๋ฐฉ์์ด๋ค.
(์ง๊ธ ์ด๋ฐ ์ฌ์ด ๋ฌธ์ ๋ค์ ํ ๋๋ ์๊ด์๋ค.)
์ ๋ ฅ์ ์ํด std์ cin์ ์ด๋ค.
int user_input;
std::cin >> user_input;
์ด๋ ๊ฒ ์ฌ์ฉํ๋ฉด ์
๋ ฅ๋ฐ์ ๊ฐ์ user_input์ด๋ผ๋ ์ ์ํ ๋ฐ์ดํฐ๊ฐ์ผ๋ก ์ ์ฅํ๊ฒ ๋๋ค.
์ถ๋ ฅ์ ์ํด์๋ std์ cout๋ฅผ ์ด๋ค.
std::cout << /* ์ถ๋ ฅํ ๊ฒ */ << /* ์ถ๋ ฅํ ๊ฒ */ << ... << /* ์ถ๋ ฅํ ๊ฒ */;
์ด๋ ๊ฒ ํ๋ฉด ์ผ์ชฝ์์๋ถํฐ ์ถ๋ ฅ๋๋ค.
๋ฐ๋ผ์ 1000๋ฒ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค.
#include <iostream>
int main() {
int A, B;
std::cin >> A >> B;
std::cout << A + B;
return 0;
}
์ธ์ ๊ฐ๋จํ ์ฝ๋์ง๋ง ์๋ฌดํผ python์ ๋นํด ์งง์ ๋ฐํ์์ ํ์ธํ ์ ์๋ค. 1ms๋ ์ ๊ฑธ๋ ธ๊ตฐ!
1001. A-B
1000๋ฒ์ ๊ทธ๋ฅ ๋บ์ ์ผ๋ก ์์ ํ๋ฉด ๋๋ค.
1008. A/B
์ฒซ์งธ ์ค์ A/B๋ฅผ ์ถ๋ ฅํ๋ค. ์ค์ ์ ๋ต๊ณผ ์ถ๋ ฅ๊ฐ์ ์ ๋์ค์ฐจ ๋๋ ์๋์ค์ฐจ๊ฐ 10-9 ์ดํ์ด๋ฉด ์ ๋ต์ด๋ค.
[ํ๋ฆฐ ๋ต]
#include <iostream>
int main() {
double A;
double B;
std::cin >> A >> B;
std::cout << A / B;
return 0;
}
์ด ์ฝ๋๋ฅผ ๋๋ ค์ 1 / 3 ์ฐ์ฐ์ ์ํํด๋ณด๋ฉด 0.333333์ ์ถ๋ ฅํ๋ค.
์๋ฃํ์ double๋ก ์ค์ ํด์ฃผ์์์๋, ๊ธฐ๋ณธ์ ์ผ๋ก std::cout์ ๊ธฐ๋ณธ ์ ๋ฐ๋๊ฐ 6์ด๋ผ ์์ซ์ 6๋ฒ์งธ ์๋ฆฌ๊น์ง๋ง ์ถ๋ ฅ๋๋ค.ใด
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ ์์ซ์ ์๋ฆฌ์๋ฅผ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค.
[๋ง๋ ๋ต]
#include <iostream>
int main() {
double A;
double B;
std::cin >> A >> B;
std::cout << std::fixed;
std::cout.precision(9);
std::cout << A / B;
return 0;
}
cout.precision(n)์ ์์๋ถ์ ์ ์๋ถ๋ฅผ ํฉํด n์๋ฆฌ๋ฅผ ์ถ๋ ฅํ๊ฒ ๋ค๋ ์๋ฏธ๊ฐ ๋๋ค.
์ฐ๋ฆฌ๋ '์์๋ถ'์ ๋ํด 9์๋ฆฌ ์ ํ์ ๊ฑธ์ด์ผ ํ๋ฏ๋ก ์์ std::cout << std::fixed๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค.
10998. AxB
์ ์x์ ์ ๋ต์ ๋ฌด์กฐ๊ฑด ์ ์์ด๋ฏ๋ก ์์ ๋ง์ , ๋บ์ ๋ฌธ์ ์ฒ๋ผ ํ์ด์ฃผ๋ฉด ๋๋ค.
#include <iostream>
int main() {
int A, B;
std::cin >> A >> B;
std::cout << A * B;
return 0;
}
1026. ๋ณด๋ฌผ
1xN ํฌ๊ธฐ์ ๋ฐฐ์ด ๋ ์ค(A, B)์ ์ ๋ ฅ ๋ฐ์์, A๋ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ, B๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๋ค ์์๋ผ๋ฆฌ ๊ณฑํ ๊ฐ์ sum์ ๊ตฌํ๋ ๋ฌธ์ ๋ค. ์ด์ง ๊น๋ค๋ก์ด ๋ถ๋ถ์ 'B๋ ์ฌ๋ฐฐ์ดํ์ง ์๊ณ ' ํด์ผํ๋ค๋ ๊ฑฐ๋ค. ์ฆ B์ ์ค๋ฆ์ฐจ์์ ๋ฐฐ์น์ ๋ง๊ฒ A๋ฅผ ๋ด๋ฆผ์ฐจ์์ด ๋๋๋ก ์ ๋ ฌํ ๋ค ๊ณฑํด์ผํ๋ค๋ ๊ฑฐ๋ค.
์ด ๋ฌธ์ ๋ ์ฌ์ค ๊ทธ๋ฅ B๋ฅผ ์ฌ๋ฐฐ์ดํด๋ฒ๋ ค๋ ์ ๋ต์ฒ๋ฆฌ ๋๋ค๊ณ ํ๋ค.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int N, x;
cin >> N;
int s = 0;
vector<int> A, B, C;
for (int i=0; i<N; i++) {
cin >> x;
A.push_back(x);
}
for (int i=0; i<N; i++) {
cin >> x;
B.push_back(x);
}
C = B;
sort(A.begin(),A.end());
sort(C.rbegin(),C.rend());
for (int i=0; i<N; i++) {
s = s + A[i]*C[i];
}
cout << s;
}
cin์ ๊ณต๋ฐฑ์ด ์์ผ๋ฉด ๊ณต๋ฐฑ ์๊น์ง๋ง ๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ค.
๋ฐ๋ผ์ ๋ฒกํฐ ์ ๋ ฅ์ ์ ์ ์ฌ์ด์ ๊ณต๋ฐฑ(์คํ์ด์ค)์ ์ ๋ ฅํ๋ ์๊ฐ ํด๋น ์ ์๊ฐ ๋ฒกํฐ๋ก ์ฝ์ ๋๊ณ for๋ฌธ์ด ๋์๊ฐ ๋ค์ cin์ผ๋ก ์ ๋ ฅ๋ฐ์ ์ฐจ๋ก๊ฐ ์จ๋ค. ์ด๋ ์์ ์ ๋ ฅํ ๊ณต๋ฐฑ์ ๋ฒํผ์ ์ ์ฅ๋์ง ์๋๋ค.
์๋ฌดํผ ๊ทธ๋ฅ B ๋ฒกํฐ๋ฅผ C์ ๋ณต์ฌํด๋ฒ๋ฆฌ๊ณ C๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด A์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๊ณผ ์์๋ผ๋ฆฌ ๊ณฑํด๋ฒ๋ ธ๋ค.
์ด ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ฒกํฐ ๊ฐ๋ ์ ๋ค์ ์ ๋ฆฝํ๊ณ ์ C++์์ ๋ฆฌ์คํธ์ ๋ฒกํฐ์ ์ฐจ์ด๋ฅผ ์๋ ํฌ์คํธ์ ์ ๋ฆฌํ๋ค.
2659. ์ญ์์นด๋
์ผ๋จ clock ๋ฒกํฐ์ ์๊ณ์๋ฅผ ์์ ์ ๋ถํฐ ์ฃ๋ค ๋ฃ๊ณ ,
์ ๋ ฅ ๋ฐ์ ์๋ฅผ ์๊ณ์๊ฐ ๋๋๋ก ์ ๋ ฌํ ํ
๊ทธ ์๊ฐ clock ๋ฒกํฐ์์ ๋ช๋ฒ์งธ์ ์๋์ง ์ฐพ์์ผ ํ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int a, b, c, d, m;
vector<int> v, clock;
cin >> a >> b >> c >> d;
v.push_back(1000*a + 100*b + 10*c +d);
v.push_back(1000*b + 100*c + 10*d +a);
v.push_back(1000*c + 100*d + 10*a +b);
v.push_back(1000*d + 100*a + 10*b +c);
m = *min_element(v.begin(), v.end()); //์
๋ ฅ๋ฐ์ ์์ ์๊ณ์ ๊ฐ
for (int i=0; i<9; i++){
for (int j=0; j<9; j++){
for (int k=0; k<9; k++){
for (int l=0; l<9; l++){
if ((i<=j)&(i<=k)&(i<=l)&(((i+1)*10+j+1)<=((k+1)*10+l+1))&((l+1 + (k+1)*10 + (j+1)*100 + (i+1)*1000)<=(k+1 + (j+1)*10 + (i+1)*100 + (l+1)*1000))){
clock.push_back(l+1 + (k+1)*10 + (j+1)*100 + (i+1)*1000);
}
}
}
}
}
cout << find(clock.begin(), clock.end(), m) - clock.begin() + 1;
}
์ผ๋จ ์ ๋ ฅ๋ฐ์ ์๋ฅผ ์๊ณ์๋ก ๋ง๋๋ ๊ฑด ๊ทธ๋ฅ abcd, bcda, cdab, dabc ๋ค ๊ฐ์ง๋ฅผ ์ ๋ถ ๋ฒกํฐ์ ๋ฃ์ด๋ณด๊ณ
min ๊ฐ์ ๋ฝ์๋ค. ๊ทธ๋ ๊ฒ ์ผ๋จ ์ ๋ ฅ๋ฐ์ ์์ ์๊ณ์ ๊ฐ์ m์ ์ ์ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ ์๊ณ์ ๋ฒกํฐ clock์,
์ ๋ฐฉ์๋๋ก ์ ํ๋์ฉ abcd, bcda, cdab, dabc๋ฅผ ํด๋ณด๊ณ ์๊ณ์๋ง ๋ฝ์๋ด๋ณผ๊นํ๋ค๊ฐ
๋ค๋ฅธ ์กฐ๊ฑด์ ์ฐพ์์ ๊ทธ๋ฅ ๋ชจ๋ ์๊ณ์๋ฅผ ํฌํจํ๋ ๋ฒกํฐ๋ฅผ ๋ง๋ค์ด๋ณด๊ณ ์ ํ๋ค.
ํ๋ ์ฐพ์ผ๋ ค๋ ๊ฑด๋ฐ ์ ์ฒด ์๊ณ์ ๋ฒกํฐ๋ฅผ ๋ง๋๋๊น ๋ฐํ์๋ ๋ ๊ธธ๊ฒ ๊ฑธ๋ฆฌ๊ธด ํ๊ฒ ๋ค..
์๊ณ์๊ฐ ๋๋ ค๋ฉด ๊ฒฐ๊ตญ ๋ค์๋ฆฌ์ ijkl (ํธ์์ 10^n ๋นผ๊ณ ์)์ ๋ํด
1) i๊ฐ i, j , k, l ์ค ๊ฐ์ฅ ์์ ์์ฌ์ผ ํ๊ณ
2) ij <= kl ์ด์ด์ผ ํ๊ณ
3) ijkl <= lijk ์ด์ด์ผ ํ๋ค.
์กฐ๊ฑด ์๊ฐํด๋ณด๋๋ฐ 30๋ถ์ ๊ฑธ๋ฆฐ ๊ฒ ๊ฐ๋ค. ((๋จธ์ฑํ๋))
์๋ฌดํผ ๊ทธ๋์ ๋ค์๋ฆฌ์์ ๊ฐ ์๋ฆฌ๊ฐ 1๋ถํฐ 9๊น์ง ์ด๋ฃจ์ด์ ธ์์ด์ผ ํ๋ฏ๋ก ์๋ฆฌ์๋ง๋ค ๋ฐ๋ณต๋ฌธ์ ์ผ๊ณ ,
์๊ณ์์ด๊ธฐ ์ํ ์กฐ๊ฑด์ ๊ทธ๋ฅ if๋ฌธ ์์ ์์ ์ ์๋ค.
๊ทธ๋ ๊ฒ clock ๋ฒกํฐ์ ๋ฃ์ด์ฃผ๋ฉด ์ด์ฐจํผ ๋ฐ๋ณต๋ฌธ์ด ์์์๋ถํฐ ๋์๊ฐ๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋๋ค.
์ธ๋ฑ์ค๋ 0๋ถํฐ ์์์ด๋ฏ๋ก +1์ ํด์ ๋ช๋ฒ์งธ ์๊ณ์์ธ์ง ์ฐพ๊ฒ ํ๋ค.
15970. N๋ฒ์งธ ํฐ ์
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, x;
cin >> N;
for (int i=0; i<N; i++){
vector<int> v;
for (int j=0; j<10; j++){
cin >> x;
v.push_back(x);
}
sort(v.rbegin(),v.rend());
cout << v[2] << endl;
}
}
๊ทธ๋ฅ ๋ฒกํฐ์ ์ ๋ ฅ๋ฐ๊ณ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ๋ค index 2 ๊ฐ์ ํด๋นํ๋ ์์๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค.
๋ค๋ง ์ฒ์ ํ ๋ ๋ง์ง๋ง์ endl์ ์๋ถ์๋ค๊ฐ ์ค๋ฅ๊ฐ ๋ฌ์๋ค. ์ฃผ์!
15970. ํ์ดํ ๊ทธ๋ฆฌ๊ธฐ
2์ฐจ์ ๋ฒกํฐ๋ก N๊ฐ ์ ๋ค์ (์์น, ์๊น)์ ์ ๋ ฅ๋ฐ๊ณ ,
์์น๊ฐ i์ธ ํ ์ ์ ๋ํด ์๊น์ด ๊ฐ์ ์ j๋ค๊ณผ์ ๊ฑฐ๋ฆฌ๋ฅผ check์ ์ ์ฅํ ๋ค์,
check์ ์ต์๊ฐ์ sum์ ์ ์ฅํด์ฃผ๋ ์์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋ค.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int N, x;
cin >> N;
int sum=0;
vector<vector<int>> v;
for (int i=0; i<N; i++){
vector<int> v2;
cin >> x;
v2.push_back(x);
cin >> x;
v2.push_back(x);
v.push_back(v2);
}
for (int i=0; i<N; i++){
vector<int> check;
for (int j=0; j<N; j++){
if ((i!=j)&(v[i][1]==v[j][1])){
check.push_back(abs(v[i][0]-v[j][0]));
}
}
if (!check.empty()){sum = sum + *min_element(check.begin(),check.end());}
}
cout << sum;
}
i์ ๋ํด j์ ๋ค์ ์ฒดํฌํ ๋ ์๊ธฐ ์์ ์ ์ฒดํฌํ์ง ์๋๋ก i!=j ๋ผ๋ ์กฐ๊ฑด์ ๊ฑธ์ด์ฃผ๋ ๊ฒ ์ ๋๊ฐ ํต์ฌ์ด๋ผ ํ ์ ์๊ฒ ๋ค.
์ฒ์์ ์ด๊ฑฐ ๋นผ๋จน์๋ค๊ฐ sum์ด 0๋์์ ์ค์? ํ๋ค..ใ ใ
15970. ํ์ดํ ๊ทธ๋ฆฌ๊ธฐ
์์ ๋ฌธ์ ์ ์ฐจ์ด์ ์ด ์๋ค๋ฉด..
์ ์ด 10๋ง๊ฐ๊ฐ ์์ ๋๋ ์ ํ ์๊ฐ 1์ด ์์ ๋์ํด์ผ ํ๋ค.
์์ ๋ฌธ์ ์์ ์ด ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋ฃ์๋๋ 21์ ์ ๋ฐ์๋ค.
์ด ๋ฌธ์ ์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ๋ค.
#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
int main() {
iostream::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int N;
cin >> N;
long long int sum = 0;
unordered_map<int, vector<int>> v;
for (int i = 0; i < N; i++) {
int x, y;
cin >> x >> y;
v[y].push_back(x);
}
for (auto& entry : v) {
vector<int>& xValues = entry.second;
sort(xValues.begin(), xValues.end());
if (xValues.size() > 1) {
for (vector<int>::size_type i = 1; i < xValues.size() - 1; i++) {sum += min(xValues[i] - xValues[i - 1], xValues[i + 1] - xValues[i]);}
sum += xValues[1] - xValues[0] + xValues[xValues.size() - 1] - xValues[xValues.size() - 2];
}
}
cout << sum;
}
sum์ ๊ผญ long long int๋ก ์ค์ ํ์.. ๊ทธ๋ฅ int๋ก ํ๋ค๊ฐ ๊ณ์ 21์ ๋์์ ์ ๋จน์๋คใ ใ
์ฐ์ unordered_map<int, vector<int>>๋ก v๋ฅผ ์ ์ธํ๋ค. ๊ทธ๋ฆฌ๊ณ x, y๋ฅผ ์ ๋ ฅ ๋ฐ์ v[y].push_back(x)๋ก v์ ๊ฐ์ ๋ฃ์ด์ฃผ์๋๋ฐ, ์ด๋ intํ y ์ขํ ๊ฐ์ ํค๋ก, ํด๋น y ์ขํ์ ๋์๋๋ x ์ขํ๋ค์ vector<int> ํํ๋ก ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ๋ค.
๋ฐ๋ผ์ ์๊น๋ก ์์น ๊ฐ๋ค์ ์ ์ฅํ๋ ๊ฒ์ด๋ค.
for (auto& entry : yCoordinates)์ C++11 ์ดํ๋ถํฐ ์ง์ํ๋ range-based for loop ๋ผ๊ณ ํ๋ค.
v์ ๊ฐ ์์(entry)๋ค์ ๋ํด ๋ฐ๋ณตํ๊ฒ ๋ค๋ ๋ป์ด๋ค.
auto ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผ๋ฌ๊ฐ ๋ณ์์ ํ์
์ ์ถ๋ก ํ๊ฒ ํ๊ณ , &๋ ์ฐธ์กฐ๋ฅผ ์๋ฏธํ๋ค๋๋ฐ, ์์จ์ฃผ๋ฉด ์ค๋ฅ๊ฐ ๋๋ค.
vector<int>& xValues = entry.second;์ entry.second์ ํด๋นํ๋ vector<int>๋ฅผ xValues๋ผ๋ ์ด๋ฆ์ ์ฐธ์กฐ๋ก ์ ๊ทผํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ ์๊น๋ง๋ค for๋ฌธ์ด ๋ฐ๋ณต๋๊ณ , for๋ฌธ ์์์ ํด๋น ์๊น์ ํด๋นํ๋ ์์น ๊ฐ๋ค๋ง์ ๊ฐ์ง๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
์์น ๊ฐ๋ค์ ์ ๋ ฌํ ํ ์ข/์ฐ์ ๋บ ๊ฐ ์ค min์ sum์ ํฉํ๊ฒ ํ๋ค.
[i], [i-1], [i+1]์ ๊ฐ์ง๊ณ for๋ฌธ์ ๋๋ฆฌ๊ธฐ ์ํด ๋งจ ์๊ณผ ๋งจ ๋์ ๊ฐ๋ค(xValues[0], xValues[xValues.size()-1])์ ๋ฐ๋ก ๊ณ์ฐํ๋ค.
20186. ์ ๊ณ ๋ฅด๊ธฐ
์ฒ์์ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ์ด๊ฒ ๋ฌด์จ ์๋ฆฌ์ผ? ์ถ์๋๋ฐ, ์ดํด๊ฐ ๋๊ณ ๋๋
๊ทธ๋ฅ ์ ์ผ ํฐ ์ K๊ฐ ๋ํ ๋ค์ 0+1+2+..+(K-1)๋ฅผ ๋นผ๋ฉด ๋๋ ๋ฌธ์ ์๋ค.
์๊ฐํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
iostream::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int N, K, x;
cin >> N >> K;
vector<int> v;
for (int i=0; i<N; i++) {
cin >> x;
v.push_back(x);
}
sort(v.rbegin(), v.rend());
int sum = 0;
for (int i=0; i<K; i++) {sum += v[i] - i;}
cout << sum;
}
๋ํ๊ณ ๋นผ๋ ๊ฒ๋ v[i] - i๋ก ํ๋ฒ์ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฐ๋จํ๋ค.
๋!!
๋คํ๋ค!!
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python][AI] pandas, numpy ๊ธฐ์ด ํจ์ ์ ๋ฆฌ (1) | 2023.10.09 |
---|---|
[BOJ] ์ฝ๋ฉ ๋ฌธ์ ํ์ด๋ ๊นํ๋ธ์! (0) | 2023.08.22 |
[BOJ] 3098๋ฒ. ์์ ๋คํธ์ํฌ (C++) (0) | 2023.08.04 |
[BOJ] 1058๋ฒ. ์น๊ตฌ (C++ 17) (0) | 2023.08.02 |
[C++] ๋ฆฌ์คํธ(list)์ ๋ฒกํฐ(vector)์ ์ฐจ์ด (0) | 2023.07.31 |