728x90
반응형

문제

전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다.

처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다.

저항의 값은 다음 표를 이용해서 구한다.

black

0

1

brown

1

10

red

2

100

orange

3

1000

yellow

4

10000

green

5

100000

blue

6

1000000

violet

7

10000000

grey

8

100000000

white

9

1000000000


예를 들어, 저항에 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.

입력

첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다.

출력

입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.

예제 입력 1

yellow violet red


예제 출력 1

4700

 

내가 작성한 코드 (C++ 성공)

#include <iostream>
#include <cmath>

using namespace std;

int ohm[3];

int main() {
	string input[3];
	string color[10] = {"black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"};
	
	
	for(int i=0; i<3; i++){
		cin >> input[i];
	}
	
	for(int i=0; i<3; i++){
		for(int j=0; j<10; j++){
			if(input[i] == color[j]) {
				ohm[i] = j;
				break;
			}
		}		
	}
	
	int num = ohm[0]*10 + ohm[1];
	
	if(num == 0) {
		cout << "0\n";
		return 0;
	} else {
		cout << num;
		for(int i=0; i<ohm[2]; i++){
			cout << "0";
		}
		cout << "\n";
	}	
	return 0;
}

 

728x90
반응형
복사했습니다!