본문 바로가기
Algorithm/Baekjoon

Baekjoon 1076 저항 JAVA

by Hunveloper 2022. 5. 22.
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

'Algorithm > Baekjoon' 카테고리의 다른 글

Baekjoon 4641 Doubles JAVA  (0) 2022.05.27
Baekjoon 1668 트로피 진열 JAVA  (0) 2022.05.27
Baekjoon 4396 지뢰 찾기 JAVA  (0) 2022.05.18
Baekjoon 2193 이친수 JAVA  (0) 2022.05.17
Baekjoon 2467 용액 JAVA  (0) 2022.05.17

댓글