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