#include <iostream>
#include <algorithm>
using namespace std;
int main() {
pair<int, char> a = {2, 'a'};
pair<int, char> b = {3, 'b'};
pair<int, char> c = max(a, b);
printf("%d %c\n", c.first, c.second);
return 0;
}
어떻게 하면 잘 짤 수 있을까 고민하다 pair를 썼다. pair의 앞에는 가성비를 넣고 뒤에는 이름을 넣는다. 그리고 가성비로 비교를 한 다음 min인 pair의 두번째 값을 출력하면 된다! pair로 비교할 때 첫번째 -> 두번째로 비교한다고 하는데 문제에서는 가성비의 다름이 보장된다고 하므로 두번째를 비교할 일이 없다.
혹시나 몰라 min에 pair형으로 비교를 해봤는데 잘 돌아간다!
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
double sp, sw, np, nw, up, uw;
scanf("%lf %lf %lf %lf %lf %lf", &sp, &sw, &np, &nw, &up, &uw);
sp *= 10; np *= 10; up *= 10;
sw *= 10; nw *= 10; uw *= 10;
if(sp >= 5000)
sp -= 500;
if(np >= 5000)
np -= 500;
if(up >= 5000)
up -= 500;
pair <double, char> S = {sp / sw, 'S'};
pair <double, char> N = {np / nw, 'N'};
pair <double, char> U = {up / uw, 'U'};
pair <double, char> result = min({S, N, U});
printf("%c", result.second);
return 0;
}
다행이다 맞았다
'백준' 카테고리의 다른 글
1924 2007년 (0) | 2019.10.06 |
---|---|
1152 단어의 개수 (0) | 2019.10.06 |
16917 양념 반 후라이드 반 (0) | 2019.10.06 |
시간복잡도와 공간복잡도 (0) | 2019.10.06 |
14568 2017 연세대학교 프로그래밍 경시대회 (0) | 2019.10.05 |