1076번 : 저항
전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다.
색값곱
black | 0 | 1 |
brown | 1 | 10 |
red | 2 | 100 |
orange | 3 | 1,000 |
yellow | 4 | 10,000 |
green | 5 | 100,000 |
blue | 6 | 1,000,000 |
violet | 7 | 10,000,000 |
grey | 8 | 100,000,000 |
white | 9 | 1,000,000,000 |
예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.
입력
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.
출력
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
생각해 볼 점
문제에서 제시한 대로 풉니다.
코드
#include <iostream>
#include <string>
#include <map>
#include <cmath>
using namespace std;
int main()
{
map<string, int> res;
res["black"] = 0;
res["brown"] = 1;
res["red"] = 2;
res["orange"] = 3;
res["yellow"] = 4;
res["green"] = 5;
res["blue"] = 6;
res["violet"] = 7;
res["grey"] = 8;
res["white"] = 9;
string A, B, C;
long long result = 0;
cin >> A >> B >> C;
result = (res.find(A)->second * 10 + res.find(B)->second) * pow(10, res.find(C)->second);
cout << result;
return 0;
}
그 외
'공부 및 정리 > 백준 코드' 카테고리의 다른 글
[C++]백준 - 1159번 문제 (0) | 2021.10.29 |
---|---|
[C++]백준 - 1145번 문제 (0) | 2021.10.29 |
[C++]백준 - 1075번 문제 (0) | 2021.10.28 |
[C++]백준 - 15681번 문제 (0) | 2021.10.27 |
[C++]백준 - 1024번 문제 (0) | 2021.10.27 |