728x90
난이도 : 브론즈2
풀이일 : 12144
https://www.acmicpc.net/problem/1076
링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐
풀이코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
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"};
long result = 0;
String X = br.readLine();
String Y = br.readLine();
String Z = br.readLine();
result += Arrays.asList(colors).indexOf(X) * 10;
result += Arrays.asList(colors).indexOf(Y);
result *= Math.pow(10, Arrays.asList(colors).indexOf(Z));
System.out.println(result);
}
}
- 배운 것
- Arrays.asList(array) : 배열에서 List 인터페이스의 메소드를 사용하기 위한 방법. 반환된 리스트에 indexOf 메소드를 사용
- Math.pow(a, b) : a의 b제곱을 반환하는 함수
- 풀이
- 각 색깔들이 0부터 9를 의미하기 때문에 배열로 구성. 각 인덱스가 색깔의 값이 되도록 함
- 각 색깔들의 곱 값은 10의 0부터 9제곱이기 때문에 Math.pow를 통해 곱 계산
- 첫 번째 색깔은 두 번째 색깔보다 한 자리 수 더 큰 값이기 때문에 *10 값으로 result에 덧셈
- 두 번째 색깔은 그대로 result에 덧셈
- 세 번째 색깔은 곱이기 때문에 Math.pow 두 번째 인자로 세 번째 색깔의 인덱스 사용
느낀점
- 자바는 되게 쉬운 문제들도 뭔가 막혀서 찾아보고 공부해야 해결된다. 이러다가 파이썬은 감 못올릴 것 같은데 내일은 일찍부터 알고리즘 문제 정하고 푸는 시간을 가져야지.
'알고리즘 > 🥉 브론즈' 카테고리의 다른 글
백준 1267 핸드폰 요금 자바 풀이 (1) | 2024.01.04 |
---|---|
백준 2083 럭비 클럽 자바 풀이 (0) | 2023.12.20 |
백준 1598 꼬리를 무는 숫자 나열 자바 풀이 (0) | 2023.12.13 |
백준 1284 집 주소 자바 풀이 (0) | 2023.12.13 |
백준 2953 나는 요리사다 자바 풀이 (0) | 2023.07.17 |