자바 백준 1076번
브론즈 2
https://www.acmicpc.net/problem/1076
문제 보기
분류: 구현
문제 풀기
주어진 표의 색, 값을 해시맵의 key, value로 저장한다.
저항을 계산하는 방법에 따라 첫 번째 색의 값에 10을 곱하고 두 번째 색의 값과 합한다. 세 번째 색으로 가져온 value를 지수로 사용하여 그 실제 값을 구한다. 이때 Math.pow()를 사용하고 이전에 첫 번째와 두 번째 색으로 구한 값과 곱한 뒤 출력한다.
코드 보기
import java.util.Scanner;
import java.util.Map;
import java.util.HashMap;
public class ResistorValue {
private static Map<String, Integer> colorValues;
public static void main(String[] args) {
initializeColorValues();
Scanner sc = new Scanner(System.in);
String firstColor = sc.nextLine();
String secondColor = sc.nextLine();
String multiplierColor = sc.nextLine();
long resistanceValue = calculateResistanceValue(firstColor, secondColor, multiplierColor);
System.out.println(resistanceValue);
}
private static void initializeColorValues() {
colorValues = new HashMap<>();
colorValues.put("black", 0);
colorValues.put("brown", 1);
colorValues.put("red", 2);
colorValues.put("orange", 3);
colorValues.put("yellow", 4);
colorValues.put("green", 5);
colorValues.put("blue", 6);
colorValues.put("violet", 7);
colorValues.put("grey", 8);
colorValues.put("white", 9);
}
private static long calculateResistanceValue(String firstColor, String secondColor, String multiplierColor) {
long firstValue = colorValues.get(firstColor);
long secondValue = colorValues.get(secondColor);
long multiplierValue = (long) Math.pow(10, colorValues.get(multiplierColor));
return (firstValue * 10 + secondValue) * multiplierValue;
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 11536 - 줄 세우기 (0) | 2023.07.14 |
---|---|
[Python] 백준 풀기 23234 - The World Responds (0) | 2023.07.13 |
[Java] 백준 풀기 11050 - 이항 계수 1 (0) | 2023.07.11 |
[Java] 백준 풀기 15596 - 정수 N개의 합 (0) | 2023.07.10 |
[Java] 백준 풀기 10951 - A+B 4 (0) | 2023.07.09 |