January 06, 2021
전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다.
처음 색 2 개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다.
저항의 값은 다음 표를 이용해서 구한다.
색 값 곱
black 0 1
brown 1 10
red 2 100
orange 3 1000
yellow 4 10000
green 5 100000
blue 6 1000000
violet 7 10000000
grey 8 100000000
white 9 1000000000
예를 들어, 저항에 색이 yellow, violet, red였다면 저항의 값은 4,700 이 된다.
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다.
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
// 내 풀이
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<String, Long> table = new HashMap<>();
table.put("black", 0L);
table.put("brown", 1L);
table.put("red", 2L);
table.put("orange", 3L);
table.put("yellow", 4L);
table.put("green", 5L);
table.put("blue", 6L);
table.put("violet", 7L);
table.put("grey", 8L);
table.put("white", 9L);
long answer = (long) ((table.get(sc.nextLine())*10
+ table.get(sc.nextLine()))*Math.pow(10, table.get(sc.nextLine())));
System.out.println(answer);
}
}
# 다른 사람 풀이
A,B,C=[["black","brown","red","orange","yellow","green","blue","violet","grey","white"].index(input())for s in range(3)];print((10*A+B)*10**C)
Source