메이쁘

(JAVA) 백준 1076번 : 저항 --- [구현] 본문

Algorithm/Baekjoon

(JAVA) 백준 1076번 : 저항 --- [구현]

메이쁘 2020. 9. 10. 23:05

https://www.acmicpc.net/problem/1076

 

1076번: 저항

첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다.

www.acmicpc.net

 

안녕하세요.

 

구현 문제인데, 매우 쉽습니다.

 

 

저는 굳이 HashMap을 써서 풀었는데(공부할 겸, 복습할 겸)

 

어차피 색깔의 값이 순차증가하기 때문에 이를 인덱스로 생각해서

 

 

String 배열 만들어서 원소를 곱으로 넣던가

 

더 단순하게 함수 하나 써서 switch 만들어도 됩니다.

 

 

그럼

끗!

 

감사합니다.

 

 

소스코드


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

// 저항
// 구현 문제 
public class p1076 {
	static HashMap<String, String> colors;
	
	public static void main(String args[]) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		colors = new HashMap<String, String>();
		getColors();
		
		// 첫 번째 색
		String firstColor = br.readLine();
		String secondColor = br.readLine();
		String lastColor = br.readLine();
		String resistanceStr = colors.get(firstColor).split("_")[0] + colors.get(secondColor).split("_")[0];
		long resist = Long.valueOf(resistanceStr) * Long.valueOf(colors.get(lastColor).split("_")[1]);
		
		System.out.println(resist);
	}
	
	static void getColors()	{
		colors.put("black", "0_1");
		colors.put("brown", "1_10");
		colors.put("red", "2_100");
		colors.put("orange", "3_1000");
		colors.put("yellow", "4_10000");
		colors.put("green", "5_100000");
		colors.put("blue", "6_1000000");
		colors.put("violet", "7_10000000");
		colors.put("grey", "8_100000000");
		colors.put("white", "9_1000000000");
	}
}
Comments