문자에 맞는 숫자를 가져와야 하니까 map을 이용했다.
10의 '값'승이 곱할 값과 같아서 pow()함수를 썼다.
#include <bits/stdc++.h>
using namespace std;
long long answer;
string a, b, c;
map<string, int> valuemap;
vector<string> stv{"black", "brown", "red", "orange", "yellow",
"green", "blue", "violet", "grey", "white"};
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
for(int i = 0; i < 10; i++){
valuemap.insert({stv[i], i});
}
cin >> a >> b >> c;
if(valuemap[a] != 0) answer = 10 * valuemap[a];
answer += valuemap[b];
answer *= pow(10, valuemap[c]);
cout << answer;
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
셀프 넘버 백준 4673 c++ (0) | 2022.02.22 |
---|---|
명령 프롬프트 백준 1032번 c++ (0) | 2022.02.22 |
크로아티아 알파벳 백준 2941번 c++ (0) | 2022.02.22 |
통계학 백준 2108번 c++ (0) | 2022.02.22 |
종이의 개수 백준 1780번 c++ (0) | 2022.02.21 |