1日1AL: 저항(백준 1076), Java

Beautify.log·2021년 12월 22일
0

Coding Test Collections

목록 보기
3/10
post-thumbnail

문제


전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다.

black01
brown110
red2100
orange31,000
yellow410,000
green5100,000
blue61,000,000
violet710,000,000
grey8100,000,000
white91,000,000,000

예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.


입력


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


출력


입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.


입출력 예시



풀이 예시


우선 이 문제의 의도는 세개의 색상을 입력하면 첫번째 색깔의 값과 두번째 색깔의 값을 붙여주고 세번째 저항을 곱해주는 방식입니다.

배열을 만들어서 밀어주는 것도 좋지만 ArrayList로 작성해서 색깔들을 밀어넣어주고 인덱스에 해당하는 것을 찾아서 출력해주었습니다.

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

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        String[] colors = { "black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white" };

        ArrayList<String> list = new ArrayList<>(Arrays.asList(colors));

        int firstColor = list.indexOf(sc.next())*10;
        int secondColor = list.indexOf(sc.next());
        int thirdColor = list.indexOf(sc.next());

        System.out.println((long)((firstColor + secondColor)*Math.pow(10, thirdColor)));

    }
}

아래는 처음에 제출한 정답입니다.

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

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        String[] colors = { "black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white" };

        ArrayList<String> list = new ArrayList<>();

        for (String color : colors) list.add(color);

        int firstColor = list.indexOf(sc.next())*10;
        int secondColor = list.indexOf(sc.next());
        int thirdColor = list.indexOf(sc.next());

        System.out.println((long)((firstColor + secondColor)*Math.pow(10, thirdColor)));

    }
}
profile
tried ? drinkCoffee : keepGoing;

0개의 댓글