코딩테스트

[BOJ_1076/JAVA] 저항

Eun 2021. 12. 2. 11:19

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

 

1076번: 저항

첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.

www.acmicpc.net

풀이과정

처음 문제를 봤을 때 HashMap을 사용해서 key, value 값으로 값을 저장해야하나싶었다.

하지만 key 값에 값, 곱까지 value로 저장하려니 꽤나 복잡했다. 그래서 다른 방법을 고안하던중 index값이 순차적으로 올라간다는 것을 발견했고 그냥 바로 array에 컬러이름만 저장하면 된다는 생각을 했다.

그러나 String 배열은 indexOf()가 지원이 안된다. ArrayList만 지원하기때문에 컬러이름을 ArrayList에 저장해주었다.

 

그리고 제곱을 하는 하기위해서 Math.pow(값, 제곱할 횟수) 함수를 사용해주었다.

코드

import java.util.ArrayList;
import java.util.Scanner;

public class Day02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		

		ArrayList<String> color = new ArrayList<>();
		color.add("black");
		color.add("brown");
		color.add("red");
		color.add("orange");
		color.add("yellow");
		color.add("green");
		color.add("blue");
		color.add("violet");
		color.add("grey");
		color.add("white");
		
		Scanner sc = new Scanner(System.in);		//값 입력
		String input1 = sc.next();
		String input2 = sc.next();
		String input3 = sc.next();
		
		int num1=color.indexOf(input1)*10;
		int num2=color.indexOf(input2);
		int num3=color.indexOf(input3);
	
		System.out.println((num1+num2)*(long)Math.pow(10, num3));
		
		
		

	}

}

'코딩테스트' 카테고리의 다른 글

[BOJ_2562/JAVA] 최댓값  (0) 2021.12.05
[BOJ_1233/Java] 주사위  (0) 2021.12.04
[BOJ_1159/JAVA] 농구경기  (0) 2021.12.01
[백준/Python] 2588번 : 곱셈  (0) 2021.08.14
[백준/Python] 1000번 : A+B  (0) 2021.08.14