happy coding

[java] 1076. 저항 본문

coding study/baekjoon

[java] 1076. 저항

yeoonii 2023. 8. 8. 17:25
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        HashMap<String, List<Integer>> map = new HashMap<>();
        map.put("black", Arrays.asList(0, 1));
        map.put("brown", Arrays.asList(1, 10));
        map.put("red", Arrays.asList(2, 100));
        map.put("orange", Arrays.asList(3, 1000));
        map.put("yellow", Arrays.asList(4, 10000));
        map.put("green", Arrays.asList(5, 100000));
        map.put("blue", Arrays.asList(6, 1000000));
        map.put("violet", Arrays.asList(7, 10000000));
        map.put("grey", Arrays.asList(8, 100000000));
        map.put("white", Arrays.asList(9, 1000000000));

        //입력문자열과 매핑된 숫자 값을 찾아 사용
        String color1 = br.readLine();
        String color2 = br.readLine();
        String value = br.readLine();

        if (map.containsKey(color1) && map.containsKey(color2) && map.containsKey(value)) {
            List<Integer> correspondingNumbers1 = map.get(color1);
            List<Integer> correspondingNumbers2 = map.get(color2);
            List<Integer> correspondingNumbers3 = map.get(value);

            int result = correspondingNumbers1.get(0) * 10 + correspondingNumbers2.get(0);
            long multiplier = correspondingNumbers3.get(1);
            long finalValue = (long) result * multiplier;

            System.out.println(finalValue);
        }
    }
}

hashmap으로 돌아갔으니 다음은 배열로 간단하게..

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

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

        // 입력 색깔과 매핑된 값들을 찾아 사용
        String color1 = br.readLine();
        String color2 = br.readLine();
        String multiplierColor = br.readLine();

        int value = Arrays.asList(colors).indexOf(color1) * 10 + Arrays.asList(colors).indexOf(color2);
        int multiplier = (int) Math.pow(10, Arrays.asList(colors).indexOf(multiplierColor));

        long finalValue = (long) value * multiplier;
        System.out.println(finalValue);
    }
}

배열에 입력 넣는 게 좀 귀찮구나아..

'coding study > baekjoon' 카테고리의 다른 글

[java] 20205. 교수님 그림이 깨지는데요?  (0) 2023.08.09
[java] 1009. 분산 처리  (0) 2023.08.08
[java] 1152. 단어의 개수  (0) 2023.08.08
[java] 1550. 16진수  (0) 2023.08.08
[java] 1026. 보물  (0) 2023.08.08
Comments