The Way

백준 1076번: 저항 본문

PS/백준 온라인 저지

백준 1076번: 저항

Jeonggyun 2017. 8. 26. 18:11

백준 온라인 저지(BOJ) 1076번 문제

https://www.acmicpc.net/problem/1076



1. 문제 요약

10종류의 색깔마다 값, 곱이 정해져있다.

3개의 색깔을 보고 저항의 값을 출력해야 하는데,

첫 번째 색은 십의 자리, 두 번째는 일의 자리, 세 번째는 곱을 나타낸다.



2. 알고리즘

글자를 읽어 비교해야 하므로, string이나 cstring을 사용하면 편리하다.

C++이므로 string을 사용하도록 하자.

읽은 값을 길이 3짜리 배열에 저장하고, 값을 계산해서 출력한다.

가장 큰 경우는 white, white, white인 경우인데 이 경우 값이 990억이므로 int 대신 long long을 사용하면 수월하다.



3. 코드

#include <iostream>
#include <string>

using namespace std;

int main() {
	string color[10] = { "black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white" };
	string t;
	int mem[3];
	long long r = 0;

	for (int i = 0; i < 3; ++i) {
		cin >> t;
		for (int j = 0; j < 10; ++j) {
			if (color[j] == t) mem[i] = j;
		}
	}

	r = mem[0] * 10 + mem[1];
	for (int i = 0; i < mem[2]; ++i) r *= 10;
	cout << r << endl;

	return 0;
}


'PS > 백준 온라인 저지' 카테고리의 다른 글

백준 2440번: 별찍기 - 3  (0) 2017.08.26
백준 2439번: 별찍기 - 2  (0) 2017.08.26
백준 1075번: 나누기  (0) 2017.08.26
백준 1094번: 막대기  (0) 2017.08.26
백준 2839번: 설탕 배달  (0) 2017.08.22
Comments