728x90
반응형
문제
전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다.
색값곱
black | 0 | 1 |
brown | 1 | 10 |
red | 2 | 100 |
orange | 3 | 1,000 |
yellow | 4 | 10,000 |
green | 5 | 100,000 |
blue | 6 | 1,000,000 |
violet | 7 | 10,000,000 |
grey | 8 | 100,000,000 |
white | 9 | 1,000,000,000 |
예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.
코드
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Main {
public enum oma {
black, brown, red, orange, yellow, green, blue, violet, grey, white
}
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<String> lines = new ArrayList<>();
for(int i = 0; i < 3; i++) {
lines.add(br.readLine());
}
StringBuilder sb = new StringBuilder();
int a = oma.valueOf(lines.get(0)).ordinal();
int b = oma.valueOf(lines.get(1)).ordinal();
int c = oma.valueOf(lines.get(2)).ordinal();
sb.append(a).append(b);
System.out.println((long) (Integer.parseInt(sb.toString()) * Math.pow(10, c)));
}
}
해결
색깔별 저항의 값은 0부터 차례대로 1씩 증가하며 곱은 10^값 만큼 증가한다
이렇게 뚜렷하게 규칙이 보이면 값은 따로 안넣고 enum으로 넣으면 간편하다
참고
링크
728x90
반응형
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준 1485번 문제, Python3] 정사각형 (0) | 2023.03.25 |
---|---|
[백준 1051번 문제, JAVA] 숫자 정사각형 (0) | 2023.03.14 |
[백준 1019번 문제, JAVA] 책 페이지 (0) | 2023.03.12 |
[백준 1057번 문제, JAVA] 토너먼트 (0) | 2023.03.09 |
[백준 1032번 문제, JAVA] 명령 프롬프트 (0) | 2023.03.08 |