Algorithm/Baekjoon

Baekjoon 1076 저항 JAVA

Hunveloper 2022. 5. 22. 00:31
728x90
 

1076번: 저항

전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한

www.acmicpc.net

문제

전자 제품에는 저항이 들어간다. 저항은 색 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이 된다.

입력

첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.

출력

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

풀이

주어지는 저항의 값대로 colors를 지정해준다.

처음부터 두 자리는 저항의 값을 의미하고, 마지막 한 자리는 저항을 곱하는 값이다.

처음 두자리를 보면서 앞에 붙는 값을 정하고, 마지막 자리를 보면서 10^n을 곱해준다.

코드
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long ans=0;
		String [] colors = {"black","brown","red","orange","yellow","green","blue","violet","grey","white"};
		
		for(int j=0;j<2;j++) {
			String str=sc.nextLine();
			for(int i=0;i<colors.length;i++)
				if(str.equals(colors[i])) {
					ans*=10;
					ans+=i;
					break;
				}
		}
		String str=sc.nextLine();
		for(int i=0;i<colors.length;i++)
			if(str.equals(colors[i]))
				ans*=Math.pow(10, i);
		System.out.println(ans);
	}

}

 

728x90
728x90