끄적끄적 코딩
article thumbnail
Published 2019. 9. 13. 15:52
[C++] 백준 1076번 저항 알고리즘

첫번째 문자와 두번째 문자는 값으로 만들고
세번째 문자는 값을 곱해주면 됩니다.

int형의 범위를 넘어가기 때문에 long long으로 해주었습니다.

 

#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

long long result = 0;

void mul(string s)
{
	if (s == "black") {
		result *= 1;
	}
	else if (s == "brown") {
		result *= 10;
	}
	else if (s == "red") {
		result *= 100;
	}
	else if (s == "orange") {
		result *= 1000;
	}
	else if (s == "yellow") {
		result *= 10000;
	}
	else if (s == "green") {
		result *= 100000;
	}
	else if (s == "blue") {
		result *= 1000000;
	}
	else if (s == "violet") {
		result *= 10000000;
	}
	else if (s == "grey") {
		result *= 100000000;
	}
	else if (s == "white") {
		result *= 1000000000;
	}
}

void value(string s)
{
	if (s == "black") {
		result *= 10;
		result += 0;
	}
	else if (s == "brown") {
		result *= 10;
		result += 1;
	}
	else if (s == "red") {
		result *= 10;
		result += 2;
	}
	else if (s == "orange") {
		result *= 10;
		result += 3;
	}
	else if (s == "yellow") {
		result *= 10;
		result += 4;
	}
	else if (s == "green") {
		result *= 10;
		result += 5;
	}
	else if (s == "blue") {
		result *= 10;
		result += 6;
	}
	else if (s == "violet") {
		result *= 10;
		result += 7;
	}
	else if (s == "grey") {
		result *= 10;
		result += 8;
	}
	else if (s == "white") {
		result *= 10;
		result += 9;
	}
}

int main(int argc, char* argv[])
{
	string s1;
	string s2;
	string s3;

	cin >> s1;
	cin >> s2;
	cin >> s3;

	value(s1);
	value(s2);
	mul(s3);

	cout << result << endl;


	return 0;
}

'알고리즘' 카테고리의 다른 글

[C++] 백준 1057번 토너먼트  (0) 2019.09.13
[C++] 백준 1977번 완전제곱수  (0) 2019.09.13
[C++] 백준 2010번 플러그  (0) 2019.09.13
[C++] 백준 1094번 막대기  (0) 2019.09.13
[C++] 백준 3046번 R2  (0) 2019.09.13

검색 태그